petit script codé à la va vite sur le coin d'une table de restau pour remplacer les fichiers identiques dans un dossier par un
lien en dur pour gagner de la place sur le disque.
#!/usr/bin/env bash
[ $1 = "-r" ] && RECURSIVE="-r" && shift
[ $# -eq 1 -a -d "$1" ] && cd "$1" && echo traitement du dossier "$1"
[ $# -gt 1 ] && echo "il y a trop d'arguments" && exit 1
L=0
while read line
do
if [ "${line}" = "" ] ; then
L=0
else
if [ $L -eq 0 ]; then
echo -e "\n* doublons du fichier ${line}"
CIBLE="${line}"
else
echo "lien du fichier ${line} vers ${CIBLE}"
ln -f "${CIBLE}" "${line}"
fi
((L++))
fi
done < <(fdupes ${RECURSIVE} ./)
utilisation :
lancer le script avec comme argument le nom du dossier à traiter, ou directement dans ce dossier sans argument.
option -r pour traiter également les sous-dossiers.
doublons.sh [-r] [dossier_à_analyser]