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

Linux 如何使用awk在Ubuntu中添加2个csv文件的第二行的值?,linux,awk,Linux,Awk,我正在使用ubuntu,我们得到了一个csv文件1.csv,有两列,看起来像 a,1 b,1 ... a,24324 b,432 另一个file2.csv有两列,如下所示 a,1 b,1 ... a,24324 b,432 第一列相同,在file1.csv和file2.csv中排序。 如何使用awk在Ubuntu中添加两个csv文件的第二行的值以获得如下结果: a,24325 b,433 您可以使用以下awk: awk -F, -v OFS=, 'NR==FNR{a[$1]=$2;ne

我正在使用ubuntu,我们得到了一个csv文件1.csv,有两列,看起来像

a,1
b,1
...
a,24324
b,432
另一个file2.csv有两列,如下所示

a,1
b,1
...
a,24324
b,432
第一列相同,在file1.csv和file2.csv中排序。 如何使用awk在Ubuntu中添加两个csv文件的第二行的值以获得如下结果:

a,24325
b,433

您可以使用以下
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
<代码>下一步允许我们处理第一个文件。一旦文件加载到内存中,我们移动到第二个文件,只需将数组中的值添加到第二列


这会将输出打印到标准输出。您可以将输出重定向到另一个文件

您可以使用以下
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
<代码>下一步允许我们处理第一个文件。一旦文件加载到内存中,我们移动到第二个文件,只需将数组中的值添加到第二列


这会将输出打印到标准输出。您可以将输出重定向到另一个文件

谢谢!如果我想计算(1-24324)/(1+24324)作为第二列呢?“awk-F,-v of s=,'NR==FNR{a[$1]=$2;next}{$2=(a[$1]-$2)/(a[$1]+$2)}1'file1.csv file2.csv”?@user3692521是的。虽然你可能想检查除法是否为零。谢谢!如果我想计算(1-24324)/(1+24324)作为第二列呢?“awk-F,-v of s=,'NR==FNR{a[$1]=$2;next}{$2=(a[$1]-$2)/(a[$1]+$2)}1'file1.csv file2.csv”?@user3692521是的。尽管你可能想检查一下除法是否为零。