我想递归地将多个同名文件合并到另一个文件中。之前有一个问题 "Recursive cat all the files into single file" 帮助我入门。然而,我希望实现每个文件在文件名和路径前都有前缀,并且不同的文件最好用空行或 ----- 等分隔开。因此,生成的文件应该如下所示:
files/pipo1/foo.txt
flim
flam
floo
files/pipo2/foo.txt
plim
plam
ploo
在bash中有没有实现这个的方法?
我想递归地将多个同名文件合并到另一个文件中。之前有一个问题 "Recursive cat all the files into single file" 帮助我入门。然而,我希望实现每个文件在文件名和路径前都有前缀,并且不同的文件最好用空行或 ----- 等分隔开。因此,生成的文件应该如下所示:
files/pipo1/foo.txt
flim
flam
floo
files/pipo2/foo.txt
plim
plam
ploo
cat
命令来查看文件内容,你可以通过一系列的命令来打印文件名、查看文件内容,并在最后添加一个换行符:find . -name 'foo.txt' \
-print \
-exec cat {} \; \
-printf "\n"
-printf
不属于 POSIX。如果需要 POSIX 解决方案,您将不得不使用 -exec echo \;
或类似的东西进行替换。 - gniourf_gniourffind . -name 'foo.txt' -print -exec cat {} \; -exec echo \;
- flywire