合并文件后.csv文件中不需要的中断线

时间:2019-06-06 15:54:05

标签: bash

我有一个文件列表:

youyou.log
youyou.log.1.gz
youyou.log.2.gz

首先,有合并的内容:

find . -name "youyou.log.*.gz" -print0 | sort -z -rn -t. -k4 | xargs -0 zcat | cat - youyou.log > youyou_complete.log

然后选择所需的内容

 awk '{OFS=","}{print $1, $2, $14, $15, $16 }' youyou_complete.csv > youyou_processed.csv 

youyou_processed.csv很干净,但是我滚动并到达youyou.log部分,到处都有换行符。

它为什么会发生?

****更新

我注意到awk命令后所有混乱都开始了,这有什么问题吗?

2 个答案:

答案 0 :(得分:0)

如果要合并所有 个文件,则需要使用

find . -name "youyou.lo*"

否则,您将跳过第一个youyou.log,这就是为什么您将鸡蛋打碎了的原因。

答案 1 :(得分:0)

在第一个命令中,您的输出将发送到youyou_complete。日志。 但是在第二条命令中,您的输入来自youyou_complete。 csv

更改其中之一以使它们相同,那么您就很好了。