Linux,ディレクトリ内の、全てのファイル内を文字列検索する

スポンサーリンク

鍛錬 122

Linux,ディレクトリ内の、全てのファイル内を文字列検索する

ファイル内のデータに、指定した文字列とマッチ(一致)する文字列が存在するのかを検索して、マッチする文字列が存在したファイル名を全て表示させるには、grep と more を使用します。
 
使用方法は、以下に示す通りです。

検索するディレクトリを指定する

grep -l 検索する指定文字 検索するディレクトリ/* | more

 
カレントディレクトリを検索する

grep -l 検索する指定文字 * | more
スポンサーリンク

サンプルファイル

以下は、今回使用する3つのサンプルファイルです。

それぞれのファイルに共通して、文字列「strawberry」が存在します。

sample_1.txt

AAA
strawberry

 
sample_2.txt

BBB
strawberry

 
sample_3.txt

CCC
strawberry
スポンサーリンク

実行結果

以下は、指定した文字列がファイル内に存在するのかを確認し、存在したファイル名を全て表示させています。

ディレクトリを指定して検索

以下は、ディレクトリ「/var/tmp/test」内のファイルについて検索しています。

***@ubuntu:/etc$ 
***@ubuntu:/etc$ grep -l AAA /var/tmp/test/* | more
/var/tmp/test/sample_1.txt
***@ubuntu:/etc$ 
***@ubuntu:/etc$ 
***@ubuntu:/etc$ grep -l BBB /var/tmp/test/* | more
/var/tmp/test/sample_2.txt
***@ubuntu:/etc$ 
***@ubuntu:/etc$ 
***@ubuntu:/etc$ grep -l CCC /var/tmp/test/* | more
/var/tmp/test/sample_3.txt
***@ubuntu:/etc$ 
***@ubuntu:/etc$ 
***@ubuntu:/etc$ grep -l strawberry /var/tmp/test/* | more
/var/tmp/test/sample_1.txt
/var/tmp/test/sample_2.txt
/var/tmp/test/sample_3.txt

 
上記に示した通り、ディレクトリを指定して検索することができました。

カレントディレクトリを検索

以下は、カレントディレクトリを検索しています。

***@ubuntu:/var/tmp/test$ 
***@ubuntu:/var/tmp/test$ grep -l AAA * | more
sample_1.txt
***@ubuntu:/var/tmp/test$ 
***@ubuntu:/var/tmp/test$ 
***@ubuntu:/var/tmp/test$ grep -l BBB * | more
sample_2.txt
***@ubuntu:/var/tmp/test$ 
***@ubuntu:/var/tmp/test$ 
***@ubuntu:/var/tmp/test$ grep -l CCC * | more
sample_3.txt
***@ubuntu:/var/tmp/test$ 
***@ubuntu:/var/tmp/test$ 
***@ubuntu:/var/tmp/test$ grep -l strawberry * | more
sample_1.txt
sample_2.txt
sample_3.txt

 
上記に示した通り、カレントディレクトリ内を検索することができました。

タイトルとURLをコピーしました