web-dev-qa-db-ja.com

find -execを使用して、各行の前にファイルの名前を出力する方法は?

似ていますが、それを超えています:

find . -iname "somepatter*txt" -print -exec cat {} \;

各ファイルのファイル名を、findの結果とともに各行の前にどのように印刷できますか?

3
d-cubed
find . -iname "somepattern*txt" -exec grep -H '' {} \+

grepの悪用のようなものですが、機能します。利用可能な最小限のプロセスを生成するというボーナスがあります。これは、各ファイルの前にファイル名を1行も含めたくないことを前提としています。

2
Tom Hunt

エレガントでないアプローチ:

find . -iname "somepattern*txt" -exec awk -v a={} '{ print a " " $0 }' {} \;
1
steve