我正在使用ubuntu,我们得到了一个csv file1.csv,其中2列看起来像
a,1
b,1
...
和另一个有2列的file2.csv看起来像
a,24324
b,432
第一列是相同的,并在file1.csv和file2.csv中排序。 如何使用awk在Ubuntu中添加2个csv文件的第二行的值来得到如下结果:
a,24325
b,433
答案 0 :(得分:4)
您可以使用以下awk
:
awk -F, -v OFS=, 'NR==FNR{a[$1]=$2;next}{$2+=a[$1]}1' file1.csv file2.csv
a,24325
b,433
我们将输入和输出字段分隔符设置为,
。使用NR==FNR
构造,我们将file1.csv加载到数组a
中。 next
允许我们使用第一个文件。将文件加载到内存后,我们将移动到第二个文件,只需将数组中的值添加到第二列。
这会将输出打印到STDOUT。您可以将输出重定向到另一个文件。