Как сравнить данные из 2 файлов, а затем создать выходной файл, содержащий недостающие данные в порядке файла 2

Вы когда-нибудь пробовали LibreOffice Draw?https://help.libreoffice.org/Common/About_Digital_Signatures

Он может считывать и записывать цифровые подписи в формате pdf, а также в других форматах, однако я не уверен, что он подойдет для этого конкретного случая использования.

0
10.02.2021, 22:40
2 ответа

Используйтеawk:

awk 'NR==1 { print; }
     NR==FNR && FNR>1{ customerIds[$1]=$2; next }
     FNR>1 && ($1 in customerIds) { print $1, customerIds[$1]; }
' OFS='\t' file1 file2

печатать строку заголовка один раз при использовании NR==1 { print; }.
затем сохраните идентификаторы клиентов из file1 в связанный массив с именемcustomerIds(ключи — это имя клиента $1, значения — это идентификаторы$2)с:

NR==FNR && FNR>1{ customerIds[$1]=$2; next }

Затем мы проверяем файл2 , если имя клиента существовало в массиве customerIds, то печатаем имя клиента $1, а затем их идентификаторы из того же массива, который мы сохранили выше.

FNR>1 && ($1 in customerIds) { print $1, customerIds[$1]; }
3
18.03.2021, 22:31
$ awk 'NR==FNR{a[$1]=$0; next} $1 in a{print a[$1]}' file1 file2
CustomerName     CustomerID
Pearl                4
Kenny                2
Joe                  1
Craig                3
2
18.03.2021, 22:31

Теги

Похожие вопросы