1. ホーム
  2. linux

[解決済み] sedによる空行の削除

2022-03-23 21:36:39

質問

sedを使って空行を削除しようとしています。

sed '/^$/d'

が、運が悪いとしか言いようがない。

例えば、こんな行があります。

xxxxxx


yyyyyy


zzzzzz

といった感じにしたいのです。

xxxxxx
yyyyyy
zzzzzz

これはどのようなコードにすべきでしょうか?

どのように解決するのですか?

空行にスペースやタブが含まれている可能性があります。使用方法 POSIXクラス と共に sed で、空白だけを含む行をすべて削除します。

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

gnu sedなどでEREを使用した短縮版。

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

(ただし、sedは ない はPCREをサポートしています)。