我想以递归的方式将几个同名的文件邮寄到另一个文件中。之前有一个问题" Recursive cat all the files into single file"这让我开始了。但是,我希望实现相同的目的,以便每个文件前面都有文件名和路径,不同的文件最好用空行或-----或类似的东西分隔。因此生成的文件将显示为:
files/pipo1/foo.txt
flim
flam
floo
files/pipo2/foo.txt
plim
plam
ploo
有什么方法可以在bash中实现这个目标吗?
答案 0 :(得分:2)
当然!您只需链接操作以打印文件名,捕获文件,然后添加换行符,而不仅仅是cat
文件:
find . -name 'foo.txt' \
-print \
-exec cat {} \; \
-printf "\n"