簡體   English   中英

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

[英]How to use awk to add the value of second lines of 2 csv files in Ubuntu?

我正在使用ubuntu,我們有2列的csv file1.csv看起來像

a,1
b,1
...

另一個有2列的file2.csv看起來像

a,24324
b,432

第一列是相同的,並在file1.csv和file2.csv中排序。 如何使用awk在Ubuntu中添加2個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 next ,我們可以處理第一個文件。 一旦文件加載到內存中,我們將移至第二個文件,只需將數組中的值添加到第二列。

這會將輸出打印到STDOUT。 您可以將輸出重定向到另一個文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM