ファイルがあります:
cat -E extracted_numbers.txt
11.47$
0.32$
$
1.37192$
-4.$
7.$
20.$
13.$
$0.
15000$
15000.$
$
2.87$
$.6
47.$
$00.
0.0000000000000000$
0.0000000000000000$
$
0.0000000000000000$
0.0000000000000000$
$
0.0000000000000000$
0.0000000000000000$
$
0.0000000000000000$
0.0000000000000000$
$
0.0000000000000000$
0.0000000000000000$
$
0.0000000000000000$
0.0000000000000000$
$
0.0000000000000000$
0.0000000000000000$
$
0.$
0.$
0.$
$.
0.$
0.$
$
$0.
279.33$
$
空行または行の終わりのみを含む行を削除する方法は?私は試した:
sed -i '/^$/d' extracted_numbers.txt
そして
grep -v '^$' extracted_numbers.txt
なぜ動作しないのですか?私が使用できる次のコマンドを知っている人はいますか?ありがとう
答え1
何かを含む行をキャプチャできます(.
REのすべての文字と一致)。
grep . file >file.new
これが空行と呼ばれるものとまだ一致している場合は、Windows行の末尾を変更する必要があります。
tr -d '\r' <file | grep . >file.new
または、不要な空白行に実際にスペースを含めることもできます(Windows行の終わりを含む)。
grep '[^[:space:]]' <file >file.new
内部で編集したい場合、この方法は名前付きファイルに対して移植可能です(file
既知のファイル名の場合は--
上記の例ではこのような内容を省略できます)。
grep . <file >"file.$$.tmp" && mv -f -- "file.$$.tmp" "file"
rm -f -- "file.$$.tmp"