我有2个CSV文件:
1234ABC.stats.csv
name,value1,value1
1234ABC.csv
value2,value2,value2
这两个文件中只有1行。
它们都没有标题,并且位于同一目录中,没有其他文件类型。
如何将第二个文件中的内容添加到第一个文件的行尾?
所需的输出:
name,value1,value1,value2,value2,value2
答案 0 :(得分:1)
(编辑修复了一个错误-缺少; $_
)我愿意做的
perl -e 'print join q(,), map { chomp; $_ } <>; print qq(\n)' *.csv
<>
是所有输入文件中所有行的列表。 chomp
删除换行符,然后join
添加逗号。
如果结果的顺序与您想要的不同,则可能需要手动指定文件,而不是仅使用*.csv
。
或者您可以在文本编辑器:D中手动完成此操作。
答案 1 :(得分:1)
尝试awk脚本:
awk '{printf("%s",$0)}NR==FNR{printf(",")}' 1234ABC.stats.csv 1234ABC.csv
答案 2 :(得分:1)
尝试一下:
paste -d, 1234ABC.stats.csv 1234ABC.csv
循环遍历本地目录中的多个文件
#!/bin/bash
for statsfile in *.stats.csv; do
paste -d, "$statsfile" "${statsfile//.stats/}" > "new_${statsfile//.stats/}"
done