合并两个csv文件并添加一个计数器

时间:2014-09-15 16:34:34

标签: csv awk merge duplicates

我想合并两个具有相同行数的csv文件,并在第一列中添加一个计数器。例如,对于两个输入文件:

f1.csv

a, b, c
d, e, f

f2.csv

aa, bb
dd, ee

我想使用

生成 f.csv 文件
1, a, b, c, aa, bb
2, d, e, f, dd, ee

我尝试过:

awk '{for(i=0;i<2;i++){print ",", i, $1, $2}}' f1.csv f2.csv > f.csv

但它产生了这样的东西:

1, a, b, c
2, d, e, f
1, aa, bb
2, dd, ee

任何提示?

2 个答案:

答案 0 :(得分:3)

通过粘贴和awk,

$ paste -d", " file1 /dev/null file2 | awk '{print NR", "$0}'
1, a, b, c, aa, bb
2, d, e, f, dd, ee

答案 1 :(得分:3)

这是awk

awk 'FNR==NR {a[NR]=$0;next} {print FNR", "a[FNR]", "$0}' f1 f2
1, a, b, c, aa, bb
2, d, e, f, dd, ee
相关问题