1

我有许多 csv 文件,第 1 列具有相同的信息,但第 2 列不同。

例如。CSV1 有以下信息

AAA, 11
BBB, 22
CCC, 33

CSV2 具有以下内容

AAA, 1111
BBB, 2222
CCC, 3333

我试图对文件进行 CAT 处理,最终得到一个由 Rows 连接的文件。但我正在新的 csv 中寻找类似以下输出的内容。我正在寻找一种在 shell 中执行此操作的方法。

结果.csv 应该是

AAA, 11, 1111
BBB, 22, 2222
CCC, 33, 3333
4

2 回答 2

1

使用join

第一个文件:

$ cat 1
AAA, 11
BBB, 22
CCC, 33

第二个文件:

$ cat 2
AAA, 1111
BBB, 2222
CCC, 3333

加入他们:

$ join -t, 1 2
AAA, 11, 1111
BBB, 22, 2222
CCC, 33, 3333
于 2013-06-04T09:10:46.850 回答
0

试试这个单行:

 awk -F, -v OFS="," '{a[$1]=a[$1]?a[$1]FS$2:$2}END{for(x in a)print x,a[x]}' file1 2 3 .... 
于 2013-06-04T09:13:28.057 回答