сравните разные столбцы из 2 разных файлов и сохраните сценарий orderin awk - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь сравнить 2 разных файла, например:

файл 1:

CALL AA
CALL AB
CALL AC

файл 2:

00 AB n
01 AA o
02 AC o

результат, который я ожидаю, выводится:

AA 01 o
AB 00 n
AC 02 o

Как я могу получить это, не меняя порядок первого файла? (Желательно в awk) Заранее спасибо.

1 Ответ

0 голосов
/ 26 марта 2019

Изменение с пример, связанный выше

awk 'NR==FNR {x=$1; $1="";a[x]=$0; next} {print $0,a[$3]}' Sourceports NATLog

на

awk 'NR==FNR {x=$2; $2="";a[x]=$0; next} {print $2,a[$2]}' file2 file1

Выход:

AA 01  o
AB 00  n
AC 02  o

С оптимизацией:

awk 'NR==FNR {a[$2]=$2 FS $1 FS $3; next} {print a[$2]}' file2 file1

Вывод теперь без пустого столбца:

AA 01 o
AB 00 n
AC 02 o

См .: 8 Встроенные переменные Powerful Awk - FS, OFS, RS, ORS, NR,NF, FILENAME, FNR

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