テキストファイルのフォルダツリーがあり、部分文字列のインスタンスとそのファイルの名前を探したいと思います。
私が次のことをするなら:
find . | xargs cat | grep 'abc'
これにより、部分文字列のインスタンスを見つけることができますが、元のファイルは見つかりません。
助けてくれてありがとう!
ベストアンサー1
このように実行すると、xargs cat
ファイル名が失われ、データがパイプを流れる間にパイプに渡すための良い方法はありません。
ただし、grep -l
一致する文字列を含むファイル名がリストされているため、次のものを使用できます。
find . -type f | xargs grep -l hello
または、ディレクトリを再帰的に検索すると、grep -r
スペースや引用符を含むファイル名の問題も解決できます。xargs
grep -lre abc .
ファイル名だけでなく、一致する文字列も必要な場合は、通常の動作を-l
得るgrep
ために削除してください。コマンドラインにパスを指定しても、一致するファイル名を印刷する必要が-r
あります。