Так что я действительно новичок в такого рода вещах (серьезно, извините заранее), но я подумал, что опубликую этот вопрос, так как это займет у меня некоторое время, чтобы решить его, и я уверен, что это намного сложнее, чем я себе представляю.
У меня есть файл small.csv:
id,name,x,y,id2
1,john,2,6,13
2,bob,3,4,15
3,jane,5,6,17
4,cindy,1,4,18
и другой файл big.csv:
id3,id4,name,x,y
100,{},john,2,6
101,{},bob,3,4
102,{},jane,5,6
103,{},cindy,1,4
104,{},alice,7,8
105,{},jane,0,3
106,{},cindy,1,7
Проблема с этим я пытаюсь поместить id2
small.csv в столбец id4
big.csv, только если name
AND x
AND y
совпадает. Я попытался использовать разные команды awk
и join
в Git Bash, но я не могу. Опять же, я прошу прощения за новый взгляд ie на все это, но любая помощь будет потрясающей. Заранее спасибо.
РЕДАКТИРОВАТЬ: Извините, вот как должен выглядеть окончательный желаемый результат:
id3,id4,name,x,y
100,{13},john,2,6
101,{15},bob,3,4
102,{17},jane,5,6
103,{18},cindy,1,4
104,{},alice,7,8
105,{},jane,0,3
106,{},cindy,1,7
И одним из последних испытаний, которые я сделал, было следующее:
$ join -j 1 -o 1.5,2.1,2.2,2.3,2.4,2.5 <(sort -k2 small.csv) <(sort -k2 big.csv)
Но я получил эту ошибку:
join: /dev/fd/63: No such file or directory