Você pode usar uma matriz multidimensional:
awk 'FNR==NR{a[$1,$2,$4,$5]=$0;next}{if(b=a[$1,$2,$4,$5]){print b;print}}' file1 file2
FNR
(número de registro do arquivo) é igual a NR
quando o awk está processando o primeiro arquivo.
a[$1,$2]=$0
é igual a a[$1 SUBSEP $2]=$0
ou a[$1"4"$2]=$0
e ($1,$2)in a
é igual a ($1 SUBSEP $2)in a
ou ($1"4"$2)in a
.
Você também pode substituir if(b=a[$1,$2,$4,$5]){print b;print}
por if(($1,$2,$4,$5)in a){print a[$1,$2,$4,$5];print}
. Se !("index" in a)
, a["index"]
for igual a a["index"]=""
.