linux ファイルのテキストの内容に指定した文字列が含まれているか再帰的に検索する

linux ファイルのテキストの内容に指定した文字列が含まれているか再帰的に検索する

Linuxでファイルのテキスト内容に指定した文字列が含まれているか再帰的に検索する方法を解説します。grep -rの基本的な使い方、行番号表示、大文字小文字を無視した検索、特定ファイルのみを対象にする方法までサンプル付きでわかりやすく紹介します。

環境

  • OS CentOS Linux release 7.9.2009 (Core)

grepコマンド

grepコマンドの、-l オプション (一覧表示)と、-r オプション (再帰的に検索)を使用します。

grep "検索したい文字列" -rl ディレクトリ

以下は、例として「カレントディレクトリ」以下に「hello」が含まれているファイルを表示するコマンドとなります。

grep "hello" -rl ./

補足

grep -rを利用すると、指定したディレクトリ配下のファイルを再帰的に検索できます。設定ファイルやソースコードの中から特定の文字列を探したい場合によく利用されます。

また、検索結果に行番号を表示したい場合は-n、大文字・小文字を区別せず検索したい場合は-iを組み合わせると便利です。

grep -rin "検索文字列" .

上記のように実行すると、カレントディレクトリ以下を対象に、行番号付きで大文字・小文字を区別せず検索できます。大量のファイルから設定値やエラーメッセージを調査する際にも役立ちます。

参考リンク