大量のテキスト、ログファイル 文字列を検索してgrepで該当する行の前後も一緒に表示する

作業ログをチェックするときに、出力される内容が長くて、チェックしたい箇所が限られていて、さらに大量のテキスト、ログファイルがある場合、一つ一つ開いてマウスでスクロールしてチェックをしていたら日が暮れる作業になります。

 

そこで、まとめてチェックしたい場合に便利なのが、grepですが、チェックの際に、検索する値の上下行も含めてgrepしたい場合があるかと思います。

 

普段、使っているsakuraエディタでは、そういった機能がなさそうで、何かいい方法がないかと探していたのですが、CentOSLinuxサーバがあれば簡単に標準機能でgrepができました。

 

参考になったのがこちらのサイト

grepで該当する行の前後も一緒に表示するには

 

また、-Aと-Bは、以下のように組み合わせて指定することもできる。

$ grep -A 3 -B 1 -n kitaura smb.conf ←該当する行の後3行と前1行を表示する
3-      client code page = 932
4:      workgroup = kitaura
5-      server string = Samba %v
6-      encrypt passwords = Yes
7-      map to guest = Bad User

 

 

検索したい文字が「test」というキーワードがあるとして、上下、1行ずつ表示させたい場合は、

 

> grep -A 1 -B 1 -n test *.txt

 

大量のファイルやテキストを処理する場合、エクセルなどでは時間がかかるとか動作が重いということがあるので、そういった場合は、WindowsPowershellLinuxなどのコマンドが便利なことがあります。

 

大量のテキスト、ログファイル 文字列を検索してgrepで該当する行の前後も一緒に表示したい場合に参考にしてみてください。

 

KOORUI モニター 23.8インチ 24N1A ディスプレイ VA非光沢 sRGB 99% フルHD 75Hz ブルーライト軽減 フリッカーフリー VESA対応 フレームレス HDMI 1.4/VGA (スピーカー非搭載)