find
Options
a : and
o : or
! : négation
follow : pour suivre les liens symboliques
-mtime : ancienneté des modifications du fichier (en jour)
-name : nom du fichier
-iname : nom du fichier indépendamment majuscule ou miinuscule
-prune : si le fichier est un répertoire ne descend pas dedans
Exemples
Fichiers selon la taille
Lister les fichiers de plus de 50 Mo
find / -type f -size +50M
Lister les fichiers de plus de 1 Go
Fichier selon la date de modification
Lister les fichier de plus de 10 jours
Lister les fichier de 10 jours
Lister les fichier de moins de 10 jours
Supprimer les fichiers de plus de 30 jours
find . -mtime +30 -exec rm -f {} \;
Fichier selon le nom
Lister tous les fichiers Word
Lister les fichiers dont le nom contient une chaine de caractères indépendamment majuscule/minuscule
Fichier selon le contenu
Lister les fichiers contenant une chaîne de caractère
find . –type f –exec grep "chaine" {} \ ; -print
Lister les fichiers contenant une chaîne de caractère sauf les *.log et *.txt
find . –type f !-name "*.log" -a ! –name "*.txt" -exec grep "chaine" {} \; -print
Liens brisés
Lister les liens brisés
find / -type l | perl -lne 'print if ! -e'
Renommage fichiers
fichier *.html.orig en *.html
find . -name "*.html.orig" -exec bash -c 'mv "$1" "${1%.html.orig}.html"' _ {} \;
fichier *.orig en *.html
find . -name "*.orig" -exec bash -c 'mv "$1" "${1%.orig}.html"' _ {} \;
Suppression répertoires
find . -type d -name .git -prune -exec rm -rf {} \;
L'option -prune évite que l'on essaye de parcourir le répertoire que l'on vient de supprimer.
Haut de page