Eu tenho 3 arquivos:
file1 :
a1/xyza/ref123
a2/xyza/fer123
a3/xyza/yug123
file2 :
a1/pqra/huj567
a2/pqra/kuf453
a3/pqra/gfc478
file3 :
a1/*/ref123
a2/*/fer123
a3/*/yug123
a1/*/huj567
a2/*/kuf453
a3/*/gfc478
a4/*/hder534
a2/*/kwe657
a3/*/pde639
Quero comparar o primeiro e o terceiro campo de file1 e file2 (ex: a1 , a2 , a3 [campo 1] e ref123 , fer123 , yug123 , hug567 , kuf453 , gfc478 [field3]) com file3 .
se os campos 1 e 3 estiverem presentes na string, então eu só quero substituir * no arquivo 3 pelo 2º campo do arquivo1 e arquivo2.
E o arquivo final deve ser assim:
file4 :
a1/xyza/ref123
a2/xyza/fer123
a3/xyza/yug123
a1/pqra/huj567
a2/pqra/kuf453
a3/pqra/gfc478
Estou tentando preparar o script bash para o mesmo. O que eu fiz foi usar o comando cut para separar o primeiro e o terceiro campo do arquivo 1. Comparado com o primeiro e o terceiro campo de file3 usando lógica e ( -a) . Então tentei usar sed mas está substituindo todo o * do 2º campo pelo mesmo valor.
A saída final do arquivo está chegando como:
a1/xyza/ref123
a2/xyza/fer123
a3/xyza/yug123
a1/xyza/huj567
a2/xyza/kuf453
a3/xyza/gfc478
a4/xyza/hder534
a2/xyza/kwe657
a3/xyza/pde639
Tags sed shell-script cut