次のファイルがあります。
method AAA one (1,111):
some_text_1
method BBB two (2,
222):
tuesday
method CCC three (3,
333):
sunny_day
method DDD four (4,
444_a,
444_b):
last_week
私はそれが次のように見えるようにしたいです:
method AAA one (1,111):
some_text_1
method BBB two (2,222):
tuesday
method CCC three (3,333):
sunny_day
method DDD four (4,444_a,444_b):
last_week
ほとんどそのようなことをするsedコマンドがあります:
sed -i '/method/,/):/ p; :a; N; $!b a; s/\n\s\{1,\}//g' file.txt
次の出力が提供されます。
method AAA one (1,111):
method AAA one (1,111):some_text_1
method BBB two (2,222):tuesday
method CCC three (3,333):sunny_day
method DDD four (4,444_a,444_b): last_week
ベストアンサー1
に基づいてSed 1行コマンドの詳細な説明、パート1:ファイル間隔、番号付け、テキスト変換および置換、39. 行がバックスラッシュ「\」で終わったら、次の行に追加します。ただし、バックスラッシュをコンマに変更し、次のスペースを含むように置換を展開します。
$ sed -e :a -e '/,$/N; s/,\n[[:blank:]]*/,/; ta' file
method AAA one (1,111):
some_text_1
method BBB two (2,222):
tuesday
method CCC three (3,333):
sunny_day
method DDD four (4,444_a,444_b):
last_week