我应该如何修改此行以在要连接的每个文件之间添加一个新行 (\n)?
find /disk/data/source/* -name '*.xml' -exec cat {} \; > /home/userid/merged-file.xml
我应该如何修改此行以在要连接的每个文件之间添加一个新行 (\n)?
find /disk/data/source/* -name '*.xml' -exec cat {} \; > /home/userid/merged-file.xml
find-exec
在一个命令中接受多个 s。例如:
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
由于您已经在使用find
,请尝试以下操作:
find /disk/data/source/* -name '*.xml' -exec cat {} \; -exec echo \; > /home/userid/merged-file.xml
如果你想去掉最后多余的换行符,你可以添加| head -n-1
.