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

[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.


reply via email to

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