Nesta resposta, você precisa especificar quantos campos compõem a "chave". Aparentemente, em seus dados reais, é 32, mas nos dados de amostra, os primeiros 7 campos são a chave:
awk -F'|' -v nKeys=7 '
NR==FNR {
suff = ""
for (i=nKeys+2; i<=NF; i++) suff = suff FS $i
NF = nKeys
suffixes[$0]=suff
next
}
{
printf "%s", $0
NF = nKeys
print line suffixes[$0]
}
' file2 file1
Podemos calcular o número de campos principais:
awk -v nKeys=$(( $(head -1 file1 | tr '|' '\n' | wc -l) - 1 )) ...
Mas provavelmente podemos codificar com segurança o número.