2016-06-20 4 views
0

私はsed '/pattern/d' file > newfileを使ってテキストファイルのいくつかの行を削除しましたが、新しいファイルには多くの空白行が残っていました。sedによって書かれた新しいファイルの空白行

空行を避けるためにコマンドを変更するにはどうすればよいですか?

+0

ファイルに 'cat -A file'や' cat -v file'を入れてください。 – Cyrus

+0

@Cyrus '-A'は元のファイルの空白行をたくさん示しています。 '-v'はテキストを出力します。 – Lee

+2

[SEDを使用して空の行を削除](http://stackoverflow.com/questions/16414410/delete-empty-lines-using-sed)の可能な複製 – hek2mgl

答えて

0
sed '/^$/d' file >newfile 

でファイルに空行を削除するための正規表現についていくつかの良い議論があなたのためにそれを行います...があります。

0

コマンドを使用すると、削除する行はすべて削除されますが、元のファイルの空白行はそのまま残ります。あまりにもこれらを削除するには、単に入力に2つ目のフィルタを適用します。

$ sed -e '/pattern/d' -e '/^[:blank:]*$/d' <file >newfile 

第二のフィルタが空の行を削除します、またはそれは、その外観に「空白」だけ空白文字(すなわち、含まれています)。

関連する問題