Simples com join :
join -1 2 -2 6 -o 1.2,2.14 <(sort -k2 file1) <(sort -k6 file2 )
-
-1 2define que emfile1o campo 2 é o campo de junção. -
-2 6define que emfile2o campo 6 é o campo de junção. -
-o 1.2,2.14é o formato de saídafile1campo 2 seguido porfile2campo 14. -
<(sort ...)os dois arquivos devem ser classificados no campo de associação-kparajoinpara funcionar corretamente.
Ou com awk (não precisa de uma entrada classificada):
awk 'FNR==NR{a[$2]=$0} FNR!=NR&&a[$6]{print $6,$14}' file1 file2
-
FNR==NRaplica-se ao primeiro arquivofile1:-
a[$2]=$0preenche a matrizacom o segundo campo$2como índice.
-
-
FNR!=NRaplica-se ao segundo arquivofile2: -
a[$6]se o 6º campo$6estiver presente na matriza.-
print $6,$14imprime os dois valores.
-