如何在连接的每个文件之间添加一个新行 (\n)

How to add a new line (\n) between each file being concatenated

我应该如何修改这一行以在每个连接的文件之间添加一个新行 (\n)?

find /disk/data/source/* -name '*.xml' -exec cat {} \; > /home/userid/merged-file.xml

因为您已经在使用 find,试试这个:

find /disk/data/source/* -name '*.xml' -exec cat {} \; -exec echo \; > /home/userid/merged-file.xml

如果你想去掉最后多余的换行符,你可以添加| head -n-1

find 在一个命令中接受多个 -execs。例如:

find /disk/data/source/* -name '*.xml' -exec cat {} \; -exec echo "" \; > /home/userid/merged-file.xml 

使用 awk 代替 cat:

find /disk/data/source/* -name '*.xml' \
    -exec awk 'NR!=FNR&&FNR==1{print ""} 1' {} + > /home/userid/merged-file.xml