Borrar ficheros duplicados (script)

( desarrollo / bash )

Este script publicado en el blog shell-fu.org lo pongo aquí no solo por su función en sí de borrado de ficheros duplicados que puede ser interesante y útil si no porque es un script interesante con varias opciones unidas que dan un punto de vista didáctico a este script.

En este script se usan varios comandos como pueden ser find +xargs, sort, sed y uniq con algunas opciones interesantes y poco utilizadas por lo general.

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
Modificado el 15 Febrero, 2015
Creado el 27 de marzo de 2009
   

Compartiendo conocimiento desde 1995 - I.M.D. I.M.D.