93

FILE:

hello

world

foo

bar

これで空の新しい行をすべて削除するにはどうすればよいFILEですか?

コマンドの出力:

FILE:

hello
world
foo
bar
4

11 に答える 11

145

grep . FILE


(そして、本当にsedでやりたいのならsed -e /^$/d FILE:)

(そして、本当に awk でそれをやりたいのであれば、awk /./ FILE:)

于 2009-10-23T07:08:10.750 に答える
40

次のことを試してください。

grep -v -e '^$'
于 2009-10-23T08:43:25.847 に答える
11
with awk, just check for number of fields. no need regex

$ more file
hello

world

foo

bar

$ awk 'NF' file
hello
world
foo
bar
于 2009-10-23T10:24:06.363 に答える
3

空行の削除がスペースを含む行を意味する場合は、次を使用します。

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

以下も参照してください。

于 2019-07-22T09:18:47.120 に答える
1

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
于 2013-03-10T06:43:09.850 に答える
0

Perl はやり過ぎかもしれませんが、同じように機能します。

完全に空白のすべての行を削除します。

perl -ne 'print if /./' file

完全に空白の行、または空白のみを含むすべての行を削除します。

perl -ne 'print if ! /^\s*$/' file

オリジナルを編集して .bak ファイルを作成するバリエーション:

perl -i.bak -ne 'print if ! /^\s*$/' file
于 2015-09-10T18:15:10.297 に答える