значения поиска awk из файла с другим RS - PullRequest
0 голосов
/ 23 мая 2018

Я нашел много примеров использования awk для поиска значений из одного файла в другом, но все они имеют одинаковые FS и RS.Интересно, есть ли способ добиться того же для файлов, где FS и RS отличаются.Я знаю, что это может быть достигнуто с помощью предварительного преобразования одного из файлов, но мне было интересно, есть ли какое-нибудь элегантное решение для этого.

Так же, как и ниже, ищите ключи из файла file1, которые не являютсянаходится во втором в dn: записях.

file1:

key1,field1_1,field2_1
key2,field1_2,field2_2
key3,field1_3,field2_3

file2:

dn: key1,xxxxxx
sn: field1_1
l: field2_1

dn: key2,xxxxxx
sn: field1_2
l: field2_2

Итак, желаемый результат должен быть key3

1 Ответ

0 голосов
/ 23 мая 2018
$ awk 'NR==FNR{keys[$2]; next} !($1 in keys){print $1}' RS='' FS='[[:space:],:]+' file2 RS='\n' FS=',' file1
key3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...