Bash 带文件名的递归cat

Bash 带文件名的递归cat,bash,recursion,cat,Bash,Recursion,Cat,我想递归地将几个同名文件转换成另一个文件。前面有一个问题“”帮助我开始。然而,我希望实现同样的效果,以便每个文件前面都有文件名和路径,不同的文件最好用空行或------或类似的东西隔开。因此,生成的文件将读取: files/pipo1/foo.txt flim flam floo files/pipo2/foo.txt plim plam ploo 有没有办法在bash中实现这一点?当然!您只需链接操作以打印文件名,对文件进行cat,然后添加换行,而不是对文件进行cat find . -

我想递归地将几个同名文件转换成另一个文件。前面有一个问题“”帮助我开始。然而,我希望实现同样的效果,以便每个文件前面都有文件名和路径,不同的文件最好用空行或------或类似的东西隔开。因此,生成的文件将读取:

files/pipo1/foo.txt
flim 
flam 
floo

files/pipo2/foo.txt
plim
plam
ploo

有没有办法在bash中实现这一点?

当然!您只需链接操作以打印文件名,对文件进行cat,然后添加换行,而不是对文件进行
cat

find . -name 'foo.txt' \
  -print \
  -exec cat {} \; \
  -printf "\n"

我听说过吃金丝雀的猫,但我很难想象出一只猫请注意,
-printf
不是POSIX。如果需要POSIX解决方案,则必须替换为
-exec echo\或类似的东西。非常感谢你们两位优秀的绅士,工作起来像个符咒:-)@Hot-Licks-LOL:D
find-名称'foo.txt'-print-exec cat{}\-执行回声\