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

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

Re: Verificando a integridade de arquivos com nomes com espaços


From: andelnyr
Subject: Re: Verificando a integridade de arquivos com nomes com espaços
Date: Wed, 16 May 2012 17:30:14 -0000
User-agent: eGroups-EW/0.82

No momento estou longe da bancada.

Farei os testes e postarei os resultados

Grato pela dica.

> > Fala Adelnir,
> > o problema é que o xargs bota atrás do md5sum (com todo
respeito ;) o que
> > recebe da entrada primária (via pipe). Se ele receber um arquivo
chamado
> > 'nome ruim', após o xargs será executado:
> >
> > md5sum nome ruim
> >
> > isto é *tentará* calcular o md5 de 2 arquivos que não
existem. Isso
> > funcionaria se o espaço estivesse protegido e para fazê-lo
usando o xargas,
> > a linha de cmds deveria ser:
> >
> > $ find $1 -type f | xargs -i md5sum {} | awk '{print $1":"$2}'
> >
> > Mas isso ficaria muito mais que a tua solução com find puro e
usando a ação
> > -exec. Para resolver esse problema de lentidão, basta vc
envenenar o teu
> > find e para fazer isso, basta trocar o ponto-e-vírgula (;) do
final, por um
> > mais (+).
> >
> > find $1 -type f -exec {} md5sum \+ | awk '{print $1":"$2}'
> >
> > Não requer prática nem habilidade ;). Teste os tempos usando
as 3 hipóteses
> > e te peço que depois os informe nessa lista, para que todos
aprendam esse
> > macete muito pouco utilizado do find. Já dando mastigado:
> >
> > $ time find $1 -type f | xargs -i md5sum {} | awk '{print $1":"$2}'
> > $ find $1 -type f -exec {} md5sum \; | awk '{print $1":"$2}'
> > $ find $1 -type f -exec {} md5sum \+ | awk '{print $1":"$2}'
> >
> > O tempo do último será menor, pq nos 2 primeiros o md5sum
será carregado a
> > cada arquivo encontrado e no último será carregado somente uma
vez. Assim
> > sendo, qto mais arquivos houverem no dir $1, maior será a
diferença de
> > tempo de execução.
> >
> > PS: o curso que darei no RJ, aborda isso tudo. ;) Inscreva-se!
restam
> > somente 2 vagas.
> >
> > Abcs,
> > Julio




reply via email to

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