從兩個文件中提取數據

從兩個文件中提取數據

我有兩個文件,如下所示

輸出1.csv

201319107648361,12:27:04,12:27:14,0:0:10 secs
201319109089878,12:27:04,12:27:15,0:0:11 secs
201319108968961,12:27:15,12:27:54,0:0:9 secs
201319108686853,12:27:34,12:27:43,0:0:9 secs
.
.
.
n

輸出2.csv

201319107648361,200
201319109089878,129
201319108968961,719
201319108686853,412
.
.
.
n

我需要將這兩個文件合併到一個文件中,但有一個條件,即兩個文件的第一個欄位是否相同。

例如,

如果 Output1.csv 的第一個值或欄位 -201319107648361等於 Output2.csv 的第一個字段,然後需要將文件的剩餘字段列印到另一個文件中。

所需的輸出檔案應包含:

201319107648361,12:27:04,12:27:14,0:0:10 secs,200
201319109089878,12:27:04,12:27:15,0:0:11 secs,129
201319108968961,12:27:15,12:27:54,0:0:9 secs,719
201319108686853,12:27:34,12:27:43,0:0:9 secs,412
.
.
.
n

答案1

所有你需要的是join

join -t\, <(sort Output1.csv) <(sort Output2.csv)
-or-
join -t "," <(sort Output1.csv) <(sort Output2.csv)

或者awk

awk -F, 'FNR==NR{a[$1]=$2;next}{ print $0 "," a[$1]}' Output2.csv Output1.csv

相關內容