【发布时间】:2020-06-03 00:31:18
【问题描述】:
我有两个 CSV 格式的文件
文件1
A,44
A,21
B,65
C,79
文件2
A,7
B,4
C,11
我用awk作为
awk -F, 'NR==FNR{a[$1]=$0;next} ($1 in a){print a[$1]","$2 }' file1.csv file2.csv
生产
A,44,7
A,21,7
B,65,4
C,79,11
a[$1] 从file1 打印整行。如何省略两个文件中的第一列(第一列仅用于匹配第二列)以产生:
44,7
21,7
65,4
79,11
换句话说,我如何将第一个文件的列传递到打印块,就像$2 对第二个文件所做的那样?
【问题讨论】:
-
如果您的文件包含重复的键,您的方法将不起作用,例如文件 1 中的
A。
标签: awk