sedやawkなどの一般的なコマンドラインツールを使用して、バックスラッシュなどの特定の文字で終わるすべての行を結合することは可能ですか?
たとえば、次のファイルがあるとします。
foo bar bash baz
dude happy
この出力を取得したい:
foo bar bash baz
dude happy
承認された回答:
短くてシンプルなsedソリューション:
sed '
: again
/\$/ {
N
s/\n//
t again
}
' textfile
または、GNU sed
を使用している場合はワンライナー :
sed ':x; /\$/ { N; s/\n//; tx }' textfile