带文件名的递归猫

时间:2014-12-20 18:21:53

标签: bash recursion cat

我想以递归的方式将几个同名的文件邮寄到另一个文件中。之前有一个问题" Recursive cat all the files into single file"这让我开始了。但是,我希望实现相同的目的,以便每个文件前面都有文件名和路径,不同的文件最好用空行或-----或类似的东西分隔。因此生成的文件将显示为:

files/pipo1/foo.txt
flim 
flam 
floo

files/pipo2/foo.txt
plim
plam
ploo

有什么方法可以在bash中实现这个目标吗?

1 个答案:

答案 0 :(得分:2)

当然!您只需链接操作以打印文件名,捕获文件,然后添加换行符,而不仅仅是cat文件:

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