find + rm e exclusão de tipos de arquivos [RESOLVIDO]

1. find + rm e exclusão de tipos de arquivos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/09/2011 - 12:08h

bem galera, tive um probleminha ao mover uma pasta com o PCManFM e ao cancelar a transferência a mesma foi removida, vejam o 15º comentário aqui:

http://www.vivaolinux.com.br/artigo/Recuperacao-de-Dados-com-o-PhotoRec/

já recuperei todos os arquivos e durante a execução do Photorec criei um script para a remoção dos tipos de arquivos que não precisava e que ocupavam bastante espaço e passei a executá-lo em paralelo ao processo de recuperação:

#!/bin/bash
find RECOVER/ -name '*.a' -exec sudo rm -v {} \;
find RECOVER/ -name '*.b' -exec sudo rm -v {} \;
find RECOVER/ -name '*.c' -exec sudo rm -v {} \;
find RECOVER/ -name '*.d' -exec sudo rm -v {} \;
find RECOVER/ -name '*.e' -exec sudo rm -v {} \;
find RECOVER/ -name '*.f' -exec sudo rm -v {} \;
find RECOVER/ -name '*.g' -exec sudo rm -v {} \;
find RECOVER/ -name '*.h' -exec sudo rm -v {} \;
find RECOVER/ -name '*.i' -exec sudo rm -v {} \;
find RECOVER/ -name '*.j' -exec sudo rm -v {} \;
find RECOVER/ -name '*.k' -exec sudo rm -v {} \;
find RECOVER/ -name '*.l' -exec sudo rm -v {} \;
find RECOVER/ -name '*.m' -exec sudo rm -v {} \;
find RECOVER/ -name '*.n' -exec sudo rm -v {} \;
find RECOVER/ -name '*.o' -exec sudo rm -v {} \;
find RECOVER/ -name '*.p' -exec sudo rm -v {} \;
find RECOVER/ -name '*.q' -exec sudo rm -v {} \;
find RECOVER/ -name '*.r' -exec sudo rm -v {} \;
find RECOVER/ -name '*.s' -exec sudo rm -v {} \;
find RECOVER/ -name '*.t' -exec sudo rm -v {} \;
find RECOVER/ -name '*.u' -exec sudo rm -v {} \;
find RECOVER/ -name '*.v' -exec sudo rm -v {} \;
find RECOVER/ -name '*.w' -exec sudo rm -v {} \;
find RECOVER/ -name '*.x' -exec sudo rm -v {} \;
find RECOVER/ -name '*.y' -exec sudo rm -v {} \;
find RECOVER/ -name '*.z' -exec sudo rm -v {} \;
find RECOVER/ -name '*.mp3' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.wma' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.aac' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.wav' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.flv' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.asf' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.avi' -exec sudo rm -v {} \;
find RECOVER/ -name '*.mpg' -exec sudo rm -v {} \;
find RECOVER/ -name '*.mpeg' -exec sudo rm -v {} \;
find RECOVER/ -name '*.mp4' -exec sudo rm -v {} \;
find RECOVER/ -name '*.mkv' -exec sudo rm -v {} \;
find RECOVER/ -name '*.m4a' -exec sudo rm -v {} \;
find RECOVER/ -name '*.ogg' -exec sudo rm -v {} \;
find RECOVER/ -name '*.tiff' -exec sudo rm -v {} \;
find RECOVER/ -name '*.gif' -exec sudo rm -v {} \;
find RECOVER/ -name '*.png' -exec sudo rm -v {} \;
find RECOVER/ -name '*.bmp' -exec sudo rm -v {} \;
find RECOVER/ -name '*.tif' -exec sudo rm -v {} \;
find RECOVER/ -name '*.txt' -exec sudo rm -v {} \;
find RECOVER/ -name '*.html' -exec sudo rm -v {} \;
find RECOVER/ -name '*.htm' -exec sudo rm -v {} \;
find RECOVER/ -name '*.xml' -exec sudo rm -v {} \;
find RECOVER/ -name '*.log' -exec sudo rm -v {} \;
find RECOVER/ -name '*.old' -exec sudo rm -v {} \;
find RECOVER/ -name '*.bak' -exec sudo rm -v {} \;
find RECOVER/ -name '*.csv' -exec sudo rm -v {} \;
find RECOVER/ -name '*.deb' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.debdelta' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.rar' -exec sudo rm -v {} \;
find RECOVER/ -name '*.zip' -exec sudo rm -v {} \;
find RECOVER/ -name '*.7z' -exec sudo rm -v {} \;
find RECOVER/ -name '*.tar.bz2' -exec sudo rm -v {} \;
find RECOVER/ -name '*.tar.gz' -exec sudo rm -v {} \;
find RECOVER/ -name '*.tar.xz' -exec sudo rm -v {} \;
find RECOVER/ -name '*.bz2' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.gz' -exec sudo rm -v {} \;
find RECOVER/ -name '*.rpm' -exec sudo rm -v {} \;
find RECOVER/ -name '*.swc' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.swf' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.wmf' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.bmp' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.tiff' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.tga' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.ico' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.ttf' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.part' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.thumbs' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.db' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.sqlite' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.rar' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.gz' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.zip' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.7z' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.rpm' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.elf' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.sh' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.gpg' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.stl' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.csv' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.exe' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.EXE' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.dll' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.DLL' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.html' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.htm' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.mhtml' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.mht' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.xml' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.chm' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.pdf' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.xpt' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.imm' -exec sudo rm -fv {} \;
find RECOVER/ -name '*.rb' -exec sudo rm -v {} \;
find RECOVER/ -name '*.py' -exec sudo rm -v {} \;
find RECOVER/ -name '*.sh' -exec sudo rm -v {} \;
find RECOVER/ -name '*.odt' -exec sudo rm -v {} \;
find RECOVER/ -name '*.ods' -exec sudo rm -v {} \;
find RECOVER/ -name '*.ots' -exec sudo rm -v {} \;

* nessa partição ficavam os arquivos pessoais e backup de pacotes e configurações das minhas distros.

a pergunta é tem como modificar o script para manter apenas os arquivos .gif e .jpeg pois eram arquivos da pasta da minha filha, gifs animados, fotos de celular e câmera digital?

no aguardo...


  


2. MELHOR RESPOSTA

Hudson Moreira Guimaraes dos Santos
hudyfx

(usa Outra)

Enviado em 03/09/2011 - 12:49h

o vc pode encurtar o código

var="mp3 wma ogg m4a mp4 aac wav avi mpg mpeg flv asf swc swf wmf bmp tiff png tga ico ttf deb debdelta tar.gz tar.bz2 bz2 part thumbs db sqlite rar gz zip 7z rpm elf sh gpg stl csv exe EXE dll DLL html htm mhtml mht xml chm doc odt rtf xls pdf txt xpt h f c imm"
for i in ` echo $var`;do
find RECOVER/ -name *.$i -exec sudo rm -fv {} \;
done


3. a mágica...

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/09/2011 - 12:32h

apenas troquei o 'rm' pelo 'mv' ' indiquei o destino:

$ find RECOVER/ -name '*.gif' -exec sudo mv {} /home/h4rd3r/GIFS \;

$ find RECOVER/ -name '*.jpg' -exec sudo mv {} /home/h4rd3r/JPEGS \;

e Viva o Linux!




4. Re: find + rm e exclusão de tipos de arquivos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 03/09/2011 - 14:32h

@hudyfx, beleza cara?

é que na verdade eu não precisava excluir as outras extensões, fiz isso para depurar ou seja deixar apenas as que eu queria, mas é deveras trabalhoso, então da forma que eu encontrei: mover apenas o que eu precisava é bem mais simples:

$ mkdir ~/GIFS
$ mkdir ~/JPEGS
$ find RECOVER/ -name '*.gif' -exec sudo mv {} /home/h4rd3r/GIFS \;
$ find RECOVER/ -name '*.jpg' -exec sudo mv {} /home/h4rd3r/JPEGS \;
$ sudo rm -rfv RECOVER

Obrigado pela sua resposta, uma outra alternativa que também servia aos meus propósitos.

um abraço.





5. Re: find + rm e exclusão de tipos de arquivos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/12/2011 - 07:54h

@hudyfx,

aproveitei esse tópico e o citei num artigo que fiz sobre o fdupes:

http://gnu2all.blogspot.com/2011/12/arquivos-duplicados-fdupes-neles.html


6. mudança de parâmetro

Edson Rosa dos Santos Júnior
edsonrsjr

(usa Debian)

Enviado em 22/06/2012 - 10:45h

Altere o parâmetro "-name" do comando find pelo parâmetro "-iname"

iname = insensitive

então

find ./ -iname "*.exe" irá encontrar todos os arquivos ".exe" (.exe, .Exe, .EXe, .EXE, .eXe, .eXE e .exE).






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts