#!/bin/bash# delpollu version 0.999## 12 juin 2006 : création# Samuel Krieg skrieg@wng.ch## delpollu supprime les fichiers foireux créés par les explorateurs # des différents systèmes d'exploitations. Finder, Explorer.exe# et Nautilus sont gérés.### si pas d'arguments, on sort# sort si pas d'argumentsif [ -z $1 ]; then echo "Pas d'argument ..." echo "<`basename $0` --help> pour plus d'infos" exit 1fiVERSION="0.999"LAST_MODIF="12 juin 2006"FIND=$(which find)VERBOSE=0TEST=0PRINT=""CHEMIN=""# affiche la version et quittefunction affiche_version{ echo "delpollu.sh Version $VERSION" echo "Derniere modification : $LAST_MODIF"}# affiche l'aide et quittefunction affiche_aide{ echo "delpollu.sh version $VERSION" echo "usage : delpollu.sh [-h] [-v] [-V] [-t] [chemin]" echo "affichage de l'aide"}# prise en charge des arguments et# définition des variableswhile [ "$1" ]; do case $1 in -h | --help) affiche_aide exit 0 ;; -v) VERBOSE=1 ;; -V) affiche_version exit 0 ;; -t) TEST=1 ;; *) if [ -n "$CHEMIN" ]; then #déjà initialisée echo "Un seul chemin svp $CHEMIN est deja utilise." echo "$1 Ne peut pas etre aussi le chemin." exit 1 fi CHEMIN=$1 ;; esac shiftdone# test de la validité des argumentsif [ ! -d "$CHEMIN" ] && [ ! -L $CHEMIN ] ; then echo "Le répertoire $CHEMIN n'existe pas." exit 1fi# verbosePRINT='-fprint /dev/null'if [ $VERBOSE == 1 ]; then PRINT="-print"fiEXEC=""if [ $TEST -eq 0 ]; then # hop c'est un tableau ! Magik ! c.f. http://wooledge.org/mywiki/BashFaq#faq50 # test # EXEC=(-exec echo A+ : "{}" res \;); # for real EXEC=(-exec rm -rf {} \;);fi# execution de la commande$FIND $CHEMIN \( \-name ".DS_Store" -or \-name ".Trashes" -or \-name "._*" -or \-name ".Trash-*" -or \-name ".TemporaryItems" -or \-name "Thumbs.db" -or \-name "_notes" \\) $PRINT ${EXEC[@]}