私は連続した空の行(もっと明確に言えば空の行だけ)を持ちたいファイルを持っています。全部一つに交換したいです。
むしろsed
(IMHOこれはawk
些細なことです)。
答え1
連続した空行(ゼロ文字行)を圧縮するには、次を使用できます。N;P;D cycle
:
sed '$!N;/^\n$/!P;D' infile
連続した空行を圧縮するには、空白を考慮して正規表現を変更します。
sed '$!N;/^[[:blank:]]*\n[[:blank:]]*$/!P;D' infile
答え2
お持ちの場合牛に似た一種の栄養 sed
使用可能な場合(スクリプトと競合しない)、-z
ゼロで区切られた行フラグを使用してから、次のように単純な正規表現を使用できます。
sed -z 's/\n[\n ]*/\n/g' infile
-z
これはいいえPOSIX。