スポンサーリンク
Linuxで再帰的な文字列検索をする場合はgrep
コマンドのr
オプションを用います。
文字列検索(再帰)
構文(再帰検索)
構文は以下の通りです。
grepの-r
オプションを指定して再帰的な検索ができます。
キーワードに検索したい文字列を指定し、検索対象ディレクトリのパスを置き換えて実行します。
コマンド例(再帰検索)
以下コマンドは、カレントディレクトリ配下のファイルをkeyword
で再帰検索します。
実行結果はファイルパスと該当箇所が出力されます。
特定ディレクトリを除外して再帰検索
特定のディレクトリを除外する場合は--exclude-dir
オプションを利用します。
構文(ディレクトリを除外して再帰検索)
ディレクトリを除外して再帰検索する構文は以下の通りです。
コマンド例(.gitを除外する)
以下コマンド例では.git
ファイルを除外して、keyword
で再帰検索をします。
コマンド例(.git,node_modulesを除外する)
複数ディレクトリを除外する場合はディレクトリを{}
で囲い,
(カンマ)で区切ります。
特定のファイルを指定して再帰検索
特定のファイルタイプを指定する場合は、--include
および--exclude
を指定します。
構文
絞り込みおよび除外の構文は、それぞれ以下の通りです。
対象のファイルタイプで絞り込んで
再帰検索
対象のファイルタイプを除外して
再帰検索
対象のファイルタイプで絞り込む&除外して
再帰検索
コマンド例(ファイル指定)
絞り込みおよび除外のコマンド例です。
keyword
は検索文字列に置き換えてご利用ください。
.txtファイルに絞り込んで再帰検索
.logファイルを除外して再帰検索
.old.txtを除いた.txtファイルに絞り込んで再帰検索
ファイル名一覧取得
grepに-l
オプションを付けると[キーワード]
で絞り込んだファイル名の一覧を取得することができます。
構文(ファイル名一覧取得)
コマンド例(ファイル名一覧取得)
以下コマンドはカレントディレクトリ配下のファイルをkeyword
で再帰検索し、対象ファイルのパス一覧を取得します。
各オプションまとめ
各オプションの意味は以下の通りです。
オプション | ロングオプション | 意味 |
---|---|---|
-r | —recursive | 再帰検索時に指定する |
-l | —files-with-matches | マッチするファイル名を検索する |
再帰的に検索した文字列を一括置換したい場合、こちらのリンクで紹介しています。
以上で本記事の解説を終わります。
よいITライフを!