Linux 如何使用awk在Ubuntu中添加2个csv文件的第二行的值?
我正在使用ubuntu,我们得到了一个csv文件1.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
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是的。尽管你可能想检查一下除法是否为零。