Intereting Posts
xmodmap не работает для Alt-a функция поиска в unix ssh-add -D не удаляет сохраненные ключи из ssh-agent Сортировка файла на основе средней части поменять местами бит в linux сочетание клавиш работает в одном макете, а не в другом Ограничьте пользователя, чтобы он не имел права делать что-либо Могу ли я писать контрольные символы на чужой терминал? Mac OSX, как автоматически генерировать поле выбора локально установленных принтеров? используя awk для редактирования файла на основе второго файла Создайте список каждого пользователя, которому принадлежит файл в заданном каталоге, а также количество файлов и каталогов, которыми они владеют. Статические маршруты в route-eth0 игнорируются Расписание сценария отмены для запуска по истечении продолжительности LVM + добавить еще один новый диск, чтобы расширить текущий размер диска SDB Как загрузить несколько файлов одновременно, используя команду mget с FTP-сервера, не нажимая y каждый раз?

Как объединить два файла на основе соответствия двух столбцов? CSV

Мне нравится file1:

6688249-7,03 / 02/2017, 5515 , 02-фев-17

16914917-8,03 / 02/2017, 5521 , 02-фев-17

И файл2:

5515 , 6688249-7,06-02-2017 04:25:47 PM, ASIG, ELIZABETH PRIETO

5515 , 6688249-7,06-02-2017 04:56:32 PM, URR, ELIZABETH PRIETO

5521 , 16914917-8,06-02-2017 12:51:04 PM, ASIGN, SOLANGE

5521 , 16914917-8,27-02-2017 04:32:11 PM, Ex, SOLANGE

И хотелось бы file3, чтобы:

6688249-7,03 / 02 / 2017,5515,02-feb-17,06-02-2017 04:25:47 PM, ASIG, ELIZABETH PRIETO

6688249-7,03 / 02 / 2017,5515,02-feb-17,06-02-2017 04:56:32 PM, URR, ELIZABETH PRIETO

16914917-8,03 / 02 / 2017,5521,02-feb-17,06-02-2017 12:51:04 PM, ASIGN, SOLANGE

16914917-8,03 / 02 / 2017,5521,02-feb-17,27-02-2017 04:32:11 PM, Ex, SOLANGE

Это означает, что ключ 3-го столбца (3-й столбец file1, 1-й столбец 1) помещает 3-й, 4-й, 5-й столбцы файла2 в файл1,

Что-то вроде этого должно быть достаточно:

awk 'BEGIN{FS=OFS=","}NR==FNR{a[$3]=$0;next}$1 in a{print a[$1],$3,$4,$5}' file1 file2 

если порядок сортировки вывода несуществен, это похоже на работу для join

 join -1 3 -2 1 -t, -o 1.1,1.2,1.3,1.4,2.3,2.4,2.5 <(sort -k3,3 -t, file1) \ <(sort -k1,1 -t, file2) 6688249-7,03/02/2017,5515,02-feb-17,06-02-2017 04:25:47 PM,ASIG,ELIZABETH PRIETO 6688249-7,03/02/2017,5515,02-feb-17,06-02-2017 04:56:32 PM,URR,ELIZABETH PRIETO 16914917-8,03/02/2017,5521,02-feb-17,06-02-2017 12:51:04 PM,ASIGN,SOLANGE 16914917-8,03/02/2017,5521,02-feb-17,27-02-2017 04:32:11 PM,Ex,SOLANGE 

Входы для join необходимо сортировать по ключу соединения, в приведенном выше примере используется замещение процесса (поддерживается оболочками, такими как bash ), чтобы достичь этого