Se os dois arquivos tiverem o mesmo tamanho, você pode fazer isso:
paste file1 file2 | awk '$1==$4 && $2==$5 && $3==$6 { print $4,$5,$6,$7,$8,$9,$10,$11}'
Eu tenho file1 que tem 3 colunas e arquivo2 que tem 8 colunas. O que eu queria fazer era se as 3 primeiras colunas no arquivo 2 fossem encontradas no arquivo 1, depois imprimir as 8 colunas inteiras no arquivo 2.
Eu tentei códigos como
awk 'NR==FNR{c[$1$2$3]++;next};c[$1$2$3]>0' file1 file2
... mas apenas imprimiu a última linha correspondente no arquivo2.
Não tenho ideia do que estava errado. Alguém poderia me ajudar? Eu realmente aprecio isso! Obrigado antecipadamente!
file1 se parece com isso
7000000185249020 89812 89911
7000000185249020 89912 90011
7000000185249020 202532 202631
7000000185249020 202632 202704
7000000185249020 202764 202863
.....
file2 se parece com isso
7000000185249020 89812 89911 100 14.1 20 0.511 48
7000000185249020 89912 90011 100 12.7 19.8 0.642 49
7000000185249020 90012 90023 12 11 17.9 0.704 58.3
Se os dois arquivos tiverem o mesmo tamanho, você pode fazer isso:
paste file1 file2 | awk '$1==$4 && $2==$5 && $3==$6 { print $4,$5,$6,$7,$8,$9,$10,$11}'
Tags awk pattern-matching