[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Comparar arquivos
From: |
SleepWalker |
Subject: |
Re: [shell-script] Re: Comparar arquivos |
Date: |
Thu, 18 Nov 2004 03:41:11 -0200 |
Ola amigo... quero agradecer pela ajuda e tirar uma duvida quanto ao seu
script:
No primeiro exemplo que vc fez para informar somente onde há as diferenças
funcionou blz.
No segundo exemplo onde vc incrementou para que ele mostre uma frase
informando que é diferente e tal deu um erro que é o seguinte:
Bad Parameter: No such file name
Sabe o que esta errado?
pinguimrmbr wrote:
> > Tenho 2 arquivos txt "arquivo1.txt" e "arquivo2.txt". Dentro
> desses
> > 2 arquivos existem N palavras quase iguais nos 2 arquivos.
> >
> > É possivel fazer um script que compare as palavras que estao
> nos 2
> > arquivos simultaneamente e quando a palavra X do arquivo1 for
> diferente
> > da palavra X do arquivo 2, exibir uma msg?
> >
> > Sendo que as palavras em ambos arquivos estao distribuidas na
> mesma
> > ordem e sequencia.
>
> Ola
>
> Tenho dois arquivos aqui: frutas1.txt e frutas2.txt. Meu digitador
> ficou na duvida sobre a grafia de duas frutas e entao escreveu cada
> arquivo com uma grafia diferente, e ficou de consultar o Aurélio ( o
> dicionario, nao o Verde :P ) depois. Os arquivos sao assim:
>
> [mrbits@rimmon mrbits]$ cat frutas1.txt
> abacate
> abacaxi
> banana
> caju
> carambola
> cupuacu
> goiaba
> jenipapo
> laranja
> lima
> mamao
> manga
> melancia
> pera
>
> [mrbits@rimmon mrbits]$ cat frutas2.txt
> abacate
> abacaxi
> banana
> caju
> carambola
> cupuassu
> goiaba
> jenipapo
> laranja
> lima
> mamao
> mango
> melancia
> pera
>
> Independente da grafia, preciso saber onde os arquivos sao
> diferentes, entao fiz assim:
>
> diff -y --suppress-common-lines frutas1.txt frutas2.txt |
> tr -d '\011' | tr -d ' '
>
> e o resultado foi:
>
> cupuacu|cupuassu
> manga|mango
>
> Pronto. A partir dai já é possivel fazer algo como
>
> for DIF in `diff -y --suppress-common-lines frutas1.txt frutas2.txt |
> tr -d '\011' | tr -d ' '`
> do
> FRUTA1=`echo "$DIF" | cut -d "|" -f 1`
> FRUTA2=`echo "$DIF" | cut -d "|" -f 2`
> echo "Fruta 1 $FRUTA1 esta diferente de Fruta 2 $FRUTA2"
> done
> O resto é perfumaria
>
> []´s
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>