Awk-сравните 2 файла с помощью нескольких столбцов и распечатайте строки из обоих файлов

Я использую CloudSN (уведомление о облачных сервисах). Он поддерживает gmail, google reader, pop3, imap, twitter, identi.ca

http://chuchiperriman.github.com/cloud-services-notifications/ (доступно PPA)

Самое приятное то, что он поддерживает несколько учетных записей.

1
задан 21 June 2019 в 19:14

1 ответ

Вам нужно будет обойти поля $2 и далее в File1.txt:

$ awk 'NR==FNR {a[$1]=$2; next} {for (i=2;i<=NF;i++) $i = $i in a ? a[$i] : $i} 1' File2.txt File1.txt
Customer1 aol.com google.com gmail.com space.com
Customer2 yahoo.com outlook.com

$i = $i in a ? a[$i] : $i можно упростить до $i = a[$i], если вы уверены, что будет совпадение или если вы хотите заменить несоответствия пустыми полями.

1
ответ дан 21 June 2019 в 19:14

Другие вопросы по тегам:

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