объединить 2 CSV-файла в третий файл с "|"в качестве сепаратора - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу объединить два файла

a.csv

customer|BillTo
100|3437146
103|3436977

b.csv

Customer|Parent
100|ANHEUSER-BUSCH INBEV
1025|INTRASTATE DISTRIBUTORS INC.

Присоединенный файл должен выглядеть следующим образом

Parent|BillTo
ANHEUSER-BUSCH INBEV|3437146

Я пытался использовать awk, но, похоже, не смог получить результат.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 25 сентября 2019
$ join -j1 --header -o 2.2,1.2 -t'|' \
   <(head -n 1 a.csv; tail -n +2 a.csv | sort) \
   <(head -n 1 b.csv; tail -n +2 b.csv | sort)
Parent|BillTo
ANHEUSER-BUSCH INBEV|3437146

Предполагается, что GNU join, что, поскольку у вас есть этот тег Linux, выглядит безопасной ставкой, а оболочка типа bash, zsh, ksh93 и т. Д., Поддерживающая перенаправление стиля <(command)(/bin/sh обычно нет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...