現在のディレクトリとそのサブディレクトリで、「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