Se a ordem das entradas UKPROD
e QADDB
para cada ID do produto não for corrigida, acho que você precisará ler e processar o arquivo duas vezes. Na primeira etapa, crie uma tabela de consulta de todos os produtos (campo # 1) no banco de dados UKPROD
, e no segundo passo, verifique cada produto mostrado em relação a QADDB
para presença em UKPROD
. Por exemplo, uma possível solução em awk
pode ser
awk -F\| '
BEGIN{OFS=FS};
NR==FNR {if ($NF=="UKPROD") ukprod[$1]++; next}
NR!=FNR {if (ukprod[$1] && $NF=="QADDB") $13="X"}
1' yourfile yourfile
mas provavelmente há implementações melhores. Se UKPROD
e QADDB
referirem-se a bancos de dados reais, talvez seja mais eficiente fazer uma consulta de banco de dados real em vez de processar o arquivo simples.