スポンサーリンク

grepの-rオプションで指定ディレクトリを再帰的に検索

grepの-rオプションで指定ディレクトリを再帰的に検索できます。

例えば、カレントディレクトリ(ドットを指定)以下を、再帰的に検索します。

$ grep -r tar .
./dir1/dir2/file.sh:target
./dir1/file.txt:target
./dir1/file.txt:target
./file.txt:target
./file.txt:target

-rオプションなしの場合です。カレントディレクトリの全てのファイル(ワイルドカードを指定)を検索します。

$ grep tar *
grep: dir1: Is a directory
file.txt:target
file.txt:target

スポンサーリンク

grepの-rオプションでor検索

カレントディレクトリを再帰的に、or検索するのも良く使いますね。

or検索時の注意点です。
参考:grepコマンドのor検索時には、正規表現の"|"の前にバックスラッシュ"\"が必要なので注意が必要(しばらく経つと忘れがち)

$ grep -r "tar\|gr" .
./dir1/dir2/file.sh:target
./dir1/dir2/file.sh:grep
./dir1/file.txt:target
./dir1/file.txt:target
./dir1/file.txt:grep
./file.txt:target
./file.txt:target
./file.txt:grep

-hオプションを付けた場合です。
ファイル名を非表示にできます。
参考:grepの-hオプションでファイル名を非表示にする

$ grep -r -h "tar\|gr" .
target
grep
target
target
grep
target
target
grep

スポンサーリンク