0

我真的对 uniq、sort、awk 感到困惑,所以......得到了 2 个 csv

tail 300513-code.csv 
11916
11922
11896
11897
128647
1319760
1321176
1017022
1017017
1220901

尾 30-05-4UTF.csv

131318,"...","st365-3",0,5
1220357,"Ящик алюминиевый зимний",,0,1
,"!!Марко Поло",,,
1014492,"Коробка Марко Поло TF1331D 13.8х7.7х3.1см.","1694.13.31","       16,00",1
1017795,"Ящик Марко Поло FS2000 white-black 2-х полочный 29х16х14см.","1694.20.01","      122,00",5
10923,"Ящик Марко Поло TR2045 red 2-х секционый большой 51.5х39.5х56.5см.","1694.20.45","      351,00",4
10925,"Ящик Марко Поло TR2045 yellow 2-х секционый большой 51.5х39.5х56.5см.","1694.20.47","      351,00",1
12717,"Металоискатель CARRETT",,"     4050,00",1
1319913,"Пакет 50 коп.","01.янв",0,269
17596,"Пакет полиэтиленовый 40х50",1,"        1,00",4843

所以第一个是我需要找到一个匹配并只输出匹配的代码的代码。示例输出.csv

12717,"Металоискатель CARRETT",,"     4050,00",1
1319913,"Пакет 50 коп.","01.янв",0,269
17596,"Пакет полиэтиленовый 40х50",1,"        1,00",4843

假设这 3 行有匹配

4

2 回答 2

1

您给定的输入和输出不匹配。12717, 1319913, 17596我在您的第一个文件中找不到它们。我认为它们只是示例。而且我认为以下行是您正在寻找的,因此请尝试以下行:

awk -F, 'NR==FNR{a[$0];next}$1 in a' 300513-code.csv 30-05-4UTF.csv
于 2013-05-30T22:17:31.013 回答
0

如果您尝试使用每个文件中的第一个字段进行链接(Linux 上的 bash)

join -1 1 -2 1 -t, <(sort -k1,1 -t, 300513-code.csv) 
<(sort -k1,1 -t,  30-05-4UTF.csv)
于 2013-05-30T22:20:22.747 回答