Suponho que você queira gerar apenas os campos cuja chave aparece nos dois arquivos, com ambos os valores. Conforme mencionado na resposta do Sparhawk , a ferramenta certa para isso é join
. Com o AWK, os seguintes trabalhos:
#!/usr/bin/awk -f
BEGIN {
OFS = FS = "="
}
FNR == NR {
values[$1] = $2
}
FNR < NR {
if (values[$1]) {
print $1, values[$1], $2
}
}
Isso começa configurando os separadores de campos de entrada e saída como “=”, depois analisa o primeiro arquivo ( FNR == NR
), armazenando todos os seus valores na matriz values
associativa, depois analisa qualquer arquivo seguinte ( FNR < NR
), e para cada linha, se um valor foi visto no primeiro arquivo, gera a chave, o valor armazenado e o valor no arquivo atual.