作業ログをチェックするときに、出力される内容が長くて、チェックしたい箇所が限られていて、さらに大量のテキスト、ログファイルがある場合、一つ一つ開いてマウスでスクロールしてチェックをしていたら日が暮れる作業になります。
そこで、まとめてチェックしたい場合に便利なのが、grepですが、チェックの際に、検索する値の上下行も含めてgrepしたい場合があるかと思います。
普段、使っているsakuraエディタでは、そういった機能がなさそうで、何かいい方法がないかと探していたのですが、CentOS、Linuxサーバがあれば簡単に標準機能で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
大量のファイルやテキストを処理する場合、エクセルなどでは時間がかかるとか動作が重いということがあるので、そういった場合は、WindowsのPowershellやLinuxなどのコマンドが便利なことがあります。
大量のテキスト、ログファイル 文字列を検索してgrepで該当する行の前後も一緒に表示したい場合に参考にしてみてください。