find コマンドの -exec grep コマンドでファイルの内容を検索する
Linux では、find コマンドでファイルの検索を行い、-exec オプションにより、指定した操作を実行することができます。
「find」コマンドでファイル内容を検索するには、「-exec」オプションと「grep」コマンドを組み合わせることができます。例を以下に示します。
find /path/to/directory -type f -exec grep "keyword" {} +
上のコマンドは、/path/to/directory ディレクトリとそのサブディレクトリで、「keyword」を含むファイルを検索し、一致するファイルをターミナルに出力します。
以下のコマンドの各引数の説明
- /path/to/directory: 検索するディレクトリへのパス
- f 種: 普通ファイルのみを検索対象として、ディレクトリやその他の特殊ファイルを対象外とする。
- exec: 指定したコマンドを実行します。
- grep 「キーワード」:grep コマンドはファイル内のコンテンツを検索するもので、その中で「キーワード」は検索するキーワードです。
- 見つけられたファイルを表示します。
- 「+」によって、ファイルが見つかるごとにコマンドを実行するのではなく、見つかったファイルをまとめてgrepコマンドに渡します。
注意、find の -exec オプションは grep だけでなく、他のどんなコマンドでも実行できます。必要に応じて、他のコマンドを使用して検索したファイルを実行できます。