• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数ファイルから特定文字列検索)

複数ファイルから特定文字列検索の方法とエラー出力の制限

このQ&Aのポイント
  • 複数ファイルから特定文字列を検索する方法と、エラー出力を制限する方法について説明します。
  • findコマンドとxargsコマンドを使用して、複数のファイルから特定文字列を検索する方法を紹介します。また、エラー出力の制限についても詳しく解説します。
  • 具体的なコマンド例を使用して、特定のキーワードにマッチする行だけを表示する方法を説明します。エラー出力の制限については、headコマンドを使用して直近の出力のみ表示する方法を紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。「直近の」とは「ファイル内で一番最後に出てくる」という意味でおっしゃっているのでしょうか。ログは普通ログファイル最後に追加されていくと思います。そうしますと、 # for file in /www/logs/*; do grep -5 -H "memory|proc|Resource" $file | tail -11; done でも用が足りそうに思いますが、いかがですか。パス付きファイル名および該当行+前後10行が出力されます。該当行+その後5行なら grep -A5 ... | tail -6 ... というふうに使えます。 また、1日以内に(=24時間内に)変更され、logという拡張子が付いたファイルの中から検索する、というような場合は、 # for file in `find /www/logs -name *.log -mtime -1`; do grep -5 -H "memory|proc|Resource" $file | tail -11; done などとできると思います。コマンドのバージョンにより使えるオプションが異なるかもしれません。

参考URL:
http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html
r-linux
質問者

お礼

xargsで検索したファイル名を先頭につけてる? のかはわかりませんが、それもしっかりと-Hオプションで 補えるのですね!!すんばらしいです!! ありがとうございました!!

関連するQ&A