Você pode tentar:
awk 'FNR==NR{a[$2];next};$NF in a' file2.txt file1.txt > result.txt
Eu tenho um arquivo1.txt
USA Joe 123.123.123
Russia Marry 458.786.892
Canada Greg 151.844.165
Latvia Grace 125.895.688
e arquivo2.txt
1 123.123.123
2 151.844.165
3 465.879.515
e eu quero criar um novo arquivo result.txt
onde eu imprimo somente minhas linhas que endereços (xxx.xxx.xxx) estão no arquivo1 e no arquivo2, então meu resultado deve ser
USA Joe 123.123.123
Canada Greg 151.844.165
Eu preciso usar o awk, mas como eu preciso usá-lo para os dois arquivos?
Talvez seja assim:
join -1 3 -2 2 <(sort -k 3 file1.txt) <(sort -k 2 file2.txt) | awk '{ print $2, $3, $1 }'
Isto:
awk(1)
;) Tags text-processing awk join