Linux 指定した拡張子のファイル内から指定した文字列を含むものを取得する

Linux 指定した拡張子のファイル内から指定した文字列を含むものを取得する

Linuxで、指定した拡張子のファイル内から指定した文字列を含むものを取得する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • shell: /bin/bash

指定した拡張子のファイル内から指定した文字列を含むものを取得する

指定した拡張子のファイル内から指定した文字列を含むものを取得するには、「find」と「xargs」で「grep」を使用します。

実際に、カレントディレクトリ配下の拡張子が「.txt」であるものの中から「Hello」という文字列が含まれているものを抽出します。

$ find . -name '*.txt' | xargs grep Hello

<出力結果>
./hoge.txt:Hello World
./d2/a.txt:Hello World

取得した結果を引数にコマンドを実行できる「xargs」を使用しないで、「grep」すると取得したファイル名の中ではなく、ファイル名が対象になります。

$ find . -name '*.txt' | grep Hello

<出力結果>
./HelloWorld.txt