sedを使用して空行を削除する 質問する

sedを使用して空行を削除する 質問する

sed を使用して空行を削除しようとしています:

sed '/^$/d'

しかし、私はそれに運がないのです。

たとえば、次のような行があります。

xxxxxx


yyyyyy


zzzzzz

そして私は次のようにしたいと思っています:

xxxxxx
yyyyyy
zzzzzz

これのコードは何でしょうか?

ベストアンサー1

「空」の行にスペースやタブが含まれている可能性があります。POSIX クラスsed空白のみを含む行をすべて削除するには、次のようにします。

sed '/^[[:space:]]*$/d'

ERE を使用する短いバージョン (たとえば、gnu sed の場合):

sed -r '/^\s*$/d'

(sed は PCRE をサポートしていないことに注意してください。)

おすすめ記事