sed、grep、awkを理解しようとしていますが、次の問題に直面しました。 sedを使用して2つのパターン(開始と終了)の間のすべての行を取得した後、次のログが表示されます。
START
tag: text info text text info text
text info texttext info text
text info texttext info text
text info texttext info text
other_tag: text info text text info text
text info text text info text text info text
text info text text info text text info text
END
START
tag: text info text text info text
text info text text info text
text info text text info text
other_tag: text info text text info text
text info text text info text text info text
text info text text info text text info text
END
次のように開始[タブ]を削除して、すべての行を親行にマージしたいと思います。
START
tag: text info text text info text text info text text info text text info text text info text text info text text info text
other_tag: text info text text info text text info text text info text text info text text info text text info text text info text
END
START
tag: text info text text info text text info text text info text text info text text info text
other_tag: text info text text info text text info text text info text text info text text info text text info text text info text
END
誰でも私を助けることができますか?ありがとうございます!
答え1
おそらく継続して使用する必要があるようです。sed。使用窒素次の入力行をパターン空間に追加して一致させることができます。\N2行の間。
以下を参照できます。
sed ':a; N; $!b a; s/\n\s\{1,\}/ /g'