「---------read-------」で始まり「finish」で終わる行を取り上げたいと思います。以下に示すログファイルから、その間、繰り返される段落を取り除きます(同じ段落の最後の一致のみを保持します)
-------------read-----------
File reading...
1 failed
finish.
[some unrelated messages]
-------------read-----------
File reading...
2 failed
finish.
[some unrelated messages]
-------------read-----------
File reading...
1 failed
finish.
[some unrelated messages]
ログファイルでは、段落の開始行と終了行は固定されていますが、中間行は固定されてい
sed -n -e "/-------------read-----------/,/finish./ p" $input_file_name
ないため、段落を選択するために使用していますが、繰り返しのものを削除できません (一部の段落は重複する可能性があります)。
sed -n "0,/----read---/,/finish/ p"
またはを使用してみましsed -n "/----read------/,/finish/,{p;q;}"
たが、機能しません。
理想的な出力は次のようになります。
-------------read-----------
File reading...
2 failed
finish.
-------------read-----------
File reading...
1 failed
finish.
どうやってやるの?誰かが助けてくれたら本当にありがたいです!