RSS

Shell script para encontrar arquivos duplicados

4:44 pm

Se você é “organizado” como eu, vai achar isso interessante.

Faz um tempo que estou pensando em procurar ou criar algo para encontrar arquivos duplicados no HD, para dar uma liberada nele. Sabe como é, músicas, fotos, backups…

Então hoje, quando decidi realmente procurar ao invés de só pensar em procurar :) , encontrei um shell script interessante em http://elonen.iki.fi/code/misc-notes/remove-duplicate-files/index.html .

O script varre o hd, a partir da pasta atual, localizando arquivos duplicados e gera um shell script com comandos rm comentados. Para apagar os arquivos, edite o arquivo de saída e descomente as linhas dos arquivos que deseja apagar.

Se você tiver dois arquivos iguais, o script gerado terá opção de remoção dos dois, você é quem escolhe qual permanece e qual será apagado.

Abaixo segue o script:

(desculpem a falha, não vi que quando postei a primeira vez sumiram alguns “\”)

OUTF=rem-duplicates.sh;
echo "#! /bin/sh" > $OUTF;
find "$@" -type f -print0 |
xargs -0 -n1 md5sum |
sort --key=1,32 | uniq -w 32 -d --all-repeated=separate |
sed -r 's/^[0-9a-f]*( )*//;s/([^a-zA-Z0-9./_-])/\\\1/g;s/(.+)/#rm \1/’ >> $OUTF;
chmod a+x $OUTF; ls -l $OUTF

Espero que se divirtam com isso.

Leave a Comment

Your comment

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.