GNU/Linux >> Linux の 問題 >  >> Linux

バックスラッシュ文字で終わるすべての行を組み合わせるにはどうすればよいですか?

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

Linux
  1. コメントされたすべての行またはvimで特定のパターンを持つ行を削除するにはどうすればよいですか?

  2. Sed -i(インプレース編集)で移植性を実現するにはどうすればよいですか?

  3. SedですべてのCコメントを削除しますか?

  1. 行の範囲を行の範囲(sedまたはその他)に置き換えますか?

  2. 「?」で始まる行を無視してファイルを出力する方法は?

  3. インストールされているすべてのパッケージをZypperで再インストールする方法は?

  1. Vimでファイルのすべての行を削除する方法

  2. sed で \r 文字を削除する方法

  3. AWK で行 (行) を減算する方法