FILE
:
hello
world
foo
bar
これで空の新しい行をすべて削除するにはどうすればよいFILE
ですか?
コマンドの出力:
FILE
:
hello
world
foo
bar
FILE
:
hello
world
foo
bar
これで空の新しい行をすべて削除するにはどうすればよいFILE
ですか?
コマンドの出力:
FILE
:
hello
world
foo
bar
grep . FILE
(そして、本当にsedでやりたいのならsed -e /^$/d FILE
:)
(そして、本当に awk でそれをやりたいのであれば、awk /./ FILE
:)
次のことを試してください。
grep -v -e '^$'
with awk, just check for number of fields. no need regex
$ more file
hello
world
foo
bar
$ awk 'NF' file
hello
world
foo
bar
空行の削除がスペースを含む行を意味する場合は、次を使用します。
grep '\S' FILE
例えば:
$ printf "line1\n\nline2\n \nline3\n\t\nline4\n" > FILE
$ cat -v FILE
line1
line2
line3
line4
$ grep '\S' FILE
line1
line2
line3
line4
$ grep . FILE
line1
line2
line3
line4
以下も参照してください。
sed
: sed を使用して空行を削除するawk
: awk を使用して空白行を削除しますgrep '^..' my_file
例
THIS
IS
THE
FILE
EOF_MYFILE
少なくとも 2 文字の行のみを出力します。
THIS
IS
THE
FILE
EOF_MYFILE
grep '^' my_file
出力付きの結果も参照してください
THIS
IS
THE
FILE
EOF_MYFILE
また、grep '^.' my_file
出力付き
THIS
IS
THE
FILE
EOF_MYFILE
Perl はやり過ぎかもしれませんが、同じように機能します。
完全に空白のすべての行を削除します。
perl -ne 'print if /./' file
完全に空白の行、または空白のみを含むすべての行を削除します。
perl -ne 'print if ! /^\s*$/' file
オリジナルを編集して .bak ファイルを作成するバリエーション:
perl -i.bak -ne 'print if ! /^\s*$/' file