[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] loop com resultado de find
From: |
moysespr |
Subject: |
Re: [shell-script] loop com resultado de find |
Date: |
Sat, 17 Sep 2005 08:46:29 -0700 (PDT) |
Eu acho que você deveria criar um script "remove_corrupt" com tudo o que
precisa e que receberia o nome de cada jpg como parâmetro.
find ./documentos/wall/ -iname \*.jpg -exec remove_corrupt {}\;
Examine o status de saída do identify. Provavelmente ele deve ser diferente
para arquivos corrompidos e não corr.:
identify arq.jpg; echo $?
se arq corromp. der saida 0, bastará um:
identify $1 && rm $1 ## ou || rm $1 # se for o contrário
Penso que so deveria dar um grep na saida (provavelmente a saida de erro) se
o status não é setado.
Usando script à parte sua lista de comandos pode ser bem maior, caso venha
ser necessário.
--- Tomás Acauan Schertel <address@hidden> wrote:
> Pessoal,
>
> Eu to criando um script pta apagar imagens com erro em uma arvore de
> diretorios.
> Eu acho os arquivos com erro usando o seguinte comendo:
>
> tomas@marvin:~$ find ./documentos/wall/ -iname \*.jpg -exec identify {}
> \;|grep "Corrupt"
>
> Ai sempre que aparece uma imagen truncada aparece a seguinte linha:
>
> identify: Corrupt JPEG data: premature end of data segment
> `./documentos/wall/carros/alfa391024x768.jpg'.
>
> Usando cut dá pra separar só o nome do arquivo
> (./documentos/wall/carros/alfa391024x768.jpg).
> Mas como eu faço pra emendar um rm pra apagar esses arquivos ??
>
> Valeu a força.
>
> --
> Tomás A. Schertel
> tschertel[at]gmail.com
> Linux Registered User #304838
> GNU/Linux Slackware
> Dropline GNOME
>
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com