停止モードまで行を抽出/印刷する必要があります。これは、開始パターンが3番目に表示されるたびに、つまりERROR_FILE_NOT_FOUND
ファイルが終了するまで発生するはずです。以下はログファイルの例です。
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
Extract line 1
Extract line 2
Extract line 3
Stop_pattern
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
Extract line 5
Extract line 6
Extract line 7
Stop_pattern
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
some text
ERROR_FILE_NOT_FOUND
Extract line 9
Extract line 10
Extract line 11
Stop_pattern
希望の出力:
Extract line 1
Extract line 2
Extract line 3
//separate if possible
Extract line 5
Extract line 6
Extract line 7
//separate if possible
Extract line 9
Extract line 10
Extract line 11
//separate if possible
答え1
まったく:
$ awk '/Stop_pattern/{c=0; print ""}; c>=3;/ERROR_FILE_NOT_FOUND/{c++} ' file
Extract line 1
Extract line 2
Extract line 3
Extract line 5
Extract line 6
Extract line 7
Extract line 9
Extract line 10
Extract line 11