shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Comparar arquivos


From: MrBiTs
Subject: Re: [shell-script] Re: Comparar arquivos
Date: Thu, 18 Nov 2004 06:48:32 -0300

> 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?

Ola
Sem problemas, estamos aqui pra isso...

Sei... voce esta deixando de passar o nome de arquivo como parametro para algum 
comando. É o que a mensagem diz. :)

Infelizmente o preço do aluguel da Bola de Cristal anda alto. Sem ver o seu 
script, fica bem dificil adivinhar o que vc fez para gerar o erro. Misstyping, 
quebras de linha em lugares errados... vai saber...

Vamos melhorar a leitura do meu, e ai vc compara os dois.

#!/bin/bash

LISTA=`diff -y --suppress-common-lines frutas1.txt frutas2.txt |
 tr -d '\011' | tr -d ' '`
# CUIDADO !!!! Devido a quebra de linha dos editores de mensagens, tr apareceu 
# numa outra linha, mas é continuacao do comando diff, logo apos o pipe]
# devendo estar na mesma linha, assim:
# `diff -y --suppress-common-lines frutas1.txt frutas2.txt | tr -d '\011' | tr 
-d ' '`

for DIF in $LISTA ; 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

#EOF

Entenda que o coracao do script é o comando diff e seus subsequentes tr | tr. O 
resto é perfumaria. O for ; do ; done mostrando mensagens é somente 
ilustrativo, como uma forma de vc usar o resultado do diff | tr | tr e 
absolutamente nao tem influencia no processo principal de comparacao que o diff 
faz. Da mesma forma que eu escrevi um echo para mostrar uma mensagem na tela, 
poderia ter simplesmente direcionado a saida do diff para um arquivo e depois 
trata-la de qqr outra maneira. Agora, se voce quer aproveitar minha ideia e 
usar essas mensagens, compare os scripts e, se tiver duvidas, poste o seu junto 
a mensagem e volte a perguntar.

[]´s


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]