从两个文件中提取数据

Ram*_*Ram 4 ksh aix text-processing

我有两个文件,如下所示

输出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
Run Code Online (Sandbox Code Playgroud)

输出2.csv

201319107648361,200
201319109089878,129
201319108968961,719
201319108686853,412
.
.
.
n
Run Code Online (Sandbox Code Playgroud)

我需要将这两个文件合并到一个具有一个条件的文件中,即如果两个文件的第一个字段相同。

例如,

如果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
Run Code Online (Sandbox Code Playgroud)

dch*_*kov 6

所有你需要的是 join

join -t\, <(sort Output1.csv) <(sort Output2.csv)
-or-
join -t "," <(sort Output1.csv) <(sort Output2.csv)
Run Code Online (Sandbox Code Playgroud)

或者 awk

awk -F, 'FNR==NR{a[$1]=$2;next}{ print $0 "," a[$1]}' Output2.csv Output1.csv
Run Code Online (Sandbox Code Playgroud)