\n
ファイル内のすべてのタグを削除したいが、\n\n
タグは削除したくない
次に例を示します。
this
is
a test
次のようにする必要があります。
thisis
a test
を使用して操作しようとしましsed ':a;N;s/\n/g'
たが、成功しませんでした。
1つの方法sed
は次のとおりです。
sed ':a;$!{N;ba};s/\([^\n]\)\n\([^\n]\)/\1\2/g' file
thisis
a test
これはうまくいくかもしれません(GNU sed):
sed ':a;$!N;/\n$/!s/\n//;ta' file
あなたを使っawk
てこれを試すことができます:
awk '{$1=$1}1' RS="\n\n" ORS="\n\n" file
this is
a test
編集:別のawk
バリエーション
awk '{printf "%s ",$0} !NF {print "\n"}' file
最後の 1 つは一部を短縮します。
awk '{printf "%s "(!NF?"\n\n":""),$0}' file
フィールド間のスペースが気に入らず、次のようにスペースをthisis
削除するだけの場合%s
:
awk '{printf "%s"(!NF?"\n\n":""),$0}' file
or
awk '{printf (!NF?RS RS:x) $0}' file