[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Selecionar arquivos duplicados
From: |
André Saunite |
Subject: |
Re: [shell-script] Selecionar arquivos duplicados |
Date: |
Thu, 30 Apr 2009 09:37:08 -0300 |
Opa,
Testei com o seguinte arquivo:
$ cat lista-arquivos.txt
e07be9609b0ac4975722916bb3da47f5 ./GBM/cebola/cebola superex 1.ppt
0bd338fddc4edc627f95eca0f78e96df ./GBM/cebola/cebola2002.ppt
3445c95f79bd8979c97d8947133e0d20 ./GBM/cebola/cebola2002b.ppt
119c574defe4648ca8d96d0857763980 ./GBM/cebola/resultados monte alto.xls
4a73f4cdf550a3dc76e2c95308bcf69b ./GBM/cebola/resultados vista alegre.xls
0bd338fddc4edc627f95eca0f78e96df ./GBM/cebola/cebola2002c.ppt
119c574defe4648ca8d96d0857763980 ./GBM/cebola/resultados-monte-alto.xls
Pra vc gerar uma lista com todos os repetidos em ordem, pode fazer assim:
$ sort lista-arquivos.txt | uniq -c -w32 | tr -s " " | awk '{ if ($1 >
1) print $2}' | grep -f - lista-arquivos.txt | sort
0bd338fddc4edc627f95eca0f78e96df ./GBM/cebola/cebola2002.ppt
0bd338fddc4edc627f95eca0f78e96df ./GBM/cebola/cebola2002c.ppt
119c574defe4648ca8d96d0857763980 ./GBM/cebola/resultados monte alto.xls
119c574defe4648ca8d96d0857763980 ./GBM/cebola/resultados-monte-alto.xls
Se quiser só o MD5 dos repetidos, faz assim:
$ sort lista-arquivos.txt | uniq -c -w32 | tr -s " " | awk '{ if ($1 >
1) print $2}'
0bd338fddc4edc627f95eca0f78e96df
119c574defe4648ca8d96d0857763980
Abs,
André Saunite
2009/4/30 Cristiano Ferrari <address@hidden>
>
>
> Ilustres, bom dia.
>
> Estou fazendo uma faxina em meu servidor de arquivos e comecei por remover
> arquivos duplicados. Tipo aqueles que um usuário manda por e-mail para toda a
> empresa e 95% dos funcionários acham que precisam gravar uma cópia deles em
> sua pasta particular, "por precaução".
>
> Como os nomes podem variar para o mesmo conteúdo, criei um script que gera um
> hash MD5 de todos os arquivos. A saída dele é uma lista parecida com isto:
>
> e07be9609b0ac4975722916bb3da47f5 ./GBM/cebola/cebola superex 1.ppt
> 0bd338fddc4edc627f95eca0f78e96df ./GBM/cebola/cebola2002.ppt
> 3445c95f79bd8979c97d8947133e0d20 ./GBM/cebola/cebola2002b.ppt
> 119c574defe4648ca8d96d0857763980 ./GBM/cebola/resultados monte alto.xls
> 4a73f4cdf550a3dc76e2c95308bcf69b ./GBM/cebola/resultados vista alegre.xls
>
> Agora, preciso ordenar esta lista pelo hash. Porém eu gostaria, depois de
> ordenado, te ter uma listagem apenas com os arquivos que possuem o mesmo
> hash. Dá para fazer isso com facilidade usando o recurso de tabela dinâmica
> do excel.
>
> Mas... eu queria aprender a fazer em shell.
>
> Alguma idéia?
>
>