[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] samba find fgrep: como faço o rm -Rf?!
From: |
Gustavo Chaves |
Subject: |
Re: [shell-script] samba find fgrep: como faço o rm -Rf?! |
Date: |
19 May 2005 09:35:59 -0300 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
>>>>> On Thu, 19 May 2005 08:09:43 -0300, "Cleiton Schulz" <address@hidden>
>>>>> said:
> opa, fiz o comando abaixo para localizar arquivos no meu
> compartilhamento samba que sejam da extensão .zip e contenham
> arquivos .mp3s neles.
> agora como faço nessa mesma linha para apagar todos os arquivos
> que o fgrep achar..
> find . -name '*.zip' -exec fgrep -i -l .mp3 {} \;
Aplicando o fgrep diretamente sobre o arquivo ZIP pode gerar falsos
positivos, pois o arquivo pode não conter nenhum arquivo MP3 mas pode
conter a "string" ".mp3" no meio dos dados dos arquivos.
Pra evitar este problema, uma solução seria a seguinte:
find . -name '*.zip' | while read file; do
if zipinfo -1 $file | egrep -qi '\.mp3$'
then echo $file
fi
done
O 'zipinfo -1' vai abrir o ZIP e listar os nomes de todos os arquivos
armazenados nele. O egrep vai procurar por arquivos que terminem com
a extensão '.mp3'.
Pra remover os arquivos troque o 'echo' por um 'rm'.
Gustavo.