3

\nファイル内のすべてのタグを削除したいが、\n\nタグは削除したくない

次に例を示します。

this
is 

a test

次のようにする必要があります。

thisis

a test

を使用して操作しようとしましsed ':a;N;s/\n/g'たが、成功しませんでした。

4

4 に答える 4

3

1つの方法sedは次のとおりです。

sed ':a;$!{N;ba};s/\([^\n]\)\n\([^\n]\)/\1\2/g' file
thisis

a test
于 2013-09-26T07:18:03.373 に答える
2

これはうまくいくかもしれません(GNU sed):

sed ':a;$!N;/\n$/!s/\n//;ta' file
于 2013-09-26T10:10:07.453 に答える
2

あなたを使っ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
于 2013-09-26T07:14:09.573 に答える