如何使用awk在Ubuntu中添加2个csv文件的第二行的值?

时间:2014-08-28 21:54:57

标签: linux awk

我正在使用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

1 个答案:

答案 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。您可以将输出重定向到另一个文件。