私は約500個の文字列を持っていて、その文字列を含むファイルをディレクトリから検索し、この文字列を含むファイル名を取得したいと思います。これまで私は次のものを使用しました。
find -name 'LYFNRE.*' -exec grep -f file1.txt {} \; -print
しかし、問題は、1つの文字列が複数のファイルで見つかる可能性があるため、出力が大きいため、どの文字列があり、どの文字列が欠落しているかを見つけるのが難しいということです。文字列を印刷してそのファイル名を見つけるのに役立ちますか?
ベストアンサー1
grep
ファイル名だけを教えてください。 GNUはgrep
これを行うことができます:
grep -HFf ../strings.txt *
これにより、次の出力が提供されます。
[filename]:[matched_line]
...ディレクトリ内のすべてのファイルのすべてのエントリ。次のように行番号を取得することもできます。
grep -HnFf ../strings.txt *
...これは...
[filename]:[line_number]:[matched_line]