Comparando dois arquivos file1 e file2 com relação a 2 campos no primeiro arquivo

0

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
    
por Utkarsh Mishra 09.04.2018 / 11:48

0 respostas