Используйте Awk для получения данных из двух файлов - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть два разных файла с двумя столбцами в каждом.

file1.txt

DevId   Group
aaa     A
bbb     B

file2.txt

Group   RefId
A       111-222-333
B       444-555-666

Мне нужен только DevId и соответствующий ему RefId.

Требуемый вывод

DevId   RefId
aaa     111-222-333
bbb     444-555-666

Я пытался использовать этот синтаксис, но не могу его правильно понять.

awk -F, -v OFS=, 'NR==FNR{a[$1]=$2;next}{print a[$2],$1}' file2.txt file1.txt

Надеюсь, кто-нибудь сможет мне помочь.

1 Ответ

0 голосов
/ 10 ноября 2018

Здесь:

awk -v RS="\r\n" 'FNR==NR{a[$1]=$2;next}{ print $1, a[$2]}' file2.txt file1.txt

Это было изменено с Awk нескольких файлов , которые я предлагаю вам прочитать для объяснения.

Редактировать: Как уже упоминалось @JamesBrown, добавлено -v RS="\r\n" для окончаний строк

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