使用 find -exec 如何在每行前面打印文件名?

使用 find -exec 如何在每行前面打印文件名?

类似于但超越:

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

如何将每个文件的文件名与 find 的结果一起打印在每行前面?

答案1

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

有点滥用grep,但它确实有效。具有产生最少可用进程的好处。这假设您不希望每个文件之前都有一行包含文件名的行。

答案2

不优雅的方法:

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

相关内容