WalkerPR
(usa Deepin)
Enviado em 09/01/2015 - 15:48h
Olá a todos,
Preciso selecionar os registros (linhas) em comum entre dois arquivos. Onde o conteúdo de uma linha do arquivo B esteja em parte da linha do arquivo A. Tentei utilizar os comandos CAT e GREP mas sem sucesso. Também tentei o comando DIFF mas este não trouxe o esperado.
Abaixo os exemplos:
Conteúdo do Arquivo_1.txt:
antonio;curitiba;PR
beatriz;salvador;BA
carlos;cuiaba;MT
diana;curitiba;PR
elaine;recife;PE
fabio;recife;PE
gabriel;curitiba;PR
henrique;salvador;BA
Conteúdo do Arquivo_2.txt:
curitiba
curitiba
curitiba
Estou tentando gerar um terceiro arquivo (Arquivo_C) onde este apresente o conteúdo do Arquivo_A (linha completa do primeiro arquivo), que seria:
Arquivo_C (resultado que preciso chegar):
antonio;curitiba;PR
diana;curitiba;PR
gabriel;curitiba;PR
O script que tentei e não funcionou por completo, desconfio devido ao uso dos comandos CAT e GREP de forma errada.
#!/bin/bash
arq2=$2
novo=${arq2:0:23}'repro_'${arq2:23:35}
for line in $(cat $1)
do
echo $line
grava=$line
#cat $arq2 | grep $grava >> $novo
grep -i $grava $arq2
done
Poderiam ajudar ?!