我有一些 csv-s,每个包含 3 列,用“,”分隔。例子:
header1,header2,header3
value1,value2,value3
value1,value2,value3
...
使用本教程,我想如果我执行的话,paste -d "," *csv > output.csv
我最终会得到这样的结果:
header1,header2,header3,header1,header2,header3,...
value1,value2,value3,value1,value2,value3,...
value1,value2,value3,value1,value2,value3,...
但输出看起来像这样:
header1,header2,header3,
header1,header2,header3,
header1,header2,header3,
...
value1,value2,value3,
value1,value2,value3,
...
特别是每行是 3 列宽,而不是 csv 文件的数量 * 3 宽。
我究竟做错了什么?
答案1
最有可能的是,您的原始文件有\r\n
行尾。
如果是这样,最终文件的\r
每个线段之间都会有一个额外的内容。尝试使用tr
:
paste -d "," *csv | tr -d "\r" > output.csv