1

役に立たない例外でいっぱいのログ ファイルがあります。

これは 2 秒ごとに生成されており、24 時間分のログを含むログ ファイルを見ると、必要な関連情報を取得するのが非常に困難になります。

私のログは次のようになります。

2013-04-21 00:00:00,852 [service name] ERROR java-class - Exception 
  at java.net ......
  at java.apache ....
  and 28 more lines like these.

ログのコピーを別のファイルにクリーンアップしたい。

明らかに、 grep -v "string" -A29 foo.log > new_file.log は、これらの 30 行を除外するのに役立ちません。

また、他の人が抱えている同様の問題について見たいくつかの sed および awk ステートメントも試しました。しかし、それらのどれも役に立たないようです。

私は、Linuxシステムに足を踏み入れているネットワーク管理者です。

誰か助けてくれませんか?

4

3 に答える 3

0

でそれを行う方法があるかどうかはgrepわかりませんが、Perl のようなものを使用する方が簡単かもしれません:

perl -ne '$m = 0 if m/string/; print if $m++ > 29' foo.log > new_file.log

($mこれは、 を含む最後の行からの行数ですstring。)

于 2013-07-30T04:39:42.687 に答える