如何在连接的每个文件之间添加一个新行 (\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 在一个命令中接受多个 -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
我应该如何修改这一行以在每个连接的文件之间添加一个新行 (\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 在一个命令中接受多个 -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