合并两个csv文件,命令不会打印第一行

时间:2015-11-15 22:45:27

标签: csv awk merge

我有两个csv文件和一个合并它们的命令,但它不会打印第一行。

File1.csv

1003085,1
1003144,2
1003149,2
1003208,1
101203,1

File2.csv

131567,489.564273848
2759,489.564273848
33630,58.5245463474
554915,63.4537671111
1003085,74.6
1003144,20.365
1003149,486.39431

通缉output.csv

1003085,1,74.6
1003144,2,20.365
1003149,2,486.39431
1003208,1
101203,1

我正在使用的命令:

awk -F, -v OFS="," 'NR==FNR&&NR>1{a[$1]=$2 FS $3;next} FNR>1{printf "%s%s\n",$0,($1 in a?FS a[$1]:"")}' file2.csv file1.csv > out.csv

1 个答案:

答案 0 :(得分:2)

NR>1表示" Number of of Record"大于(>)1。删除它和FNR>1(当前文件编号(of)记录),你应该没问题。

如果您继承了此代码,则可能是为了消除打印标题行。

IHTH