パターンに一致するファイル名とファイルの行番号を印刷します。

パターンに一致するファイル名とファイルの行番号を印刷します。

現在のディレクトリとそのサブディレクトリで、「hello」という単語を含む一般的なファイルを検索する必要があります。

これが私にうまくいかない理由:

find . -type f | grep "hello"

答え1

あなたはパイプが欲しい探す入力するパラメータ、結果を正しく読みます。探す:

find . -type f -print0 | xargs grep "hello"

よりxargs(1)詳しくはマニュアルページをご覧ください。

答え2

hello提案されたコマンドを使用すると、ファイルの内容内の文字列ではなく、その文字列を含むファイル名を見つけます。hello次の構成を使用します。

find . -type f -exec grep -n hello /dev/null {} +

答え3

したがって、実際にはコマンド-regexのオプションを使用できますfind

find . -type f -regex ".*/.*hello.*"

.*hello.*- 「hello」という単語を含む名前と一致します。コマンドはフルパスを返すため.*/必要です。find

関連情報