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

find / -type f -size +1G

Fichier selon la date de modification

Lister les fichier de plus de 10 jours

find . -mtime +10

Lister les fichier de 10 jours

find . -mtime 10

Lister les fichier de moins de 10 jours

find . -mtime -10

Supprimer les fichiers de plus de 30 jours

find . -mtime +30 -exec rm -f {} \;

Fichier selon le nom

Lister tous les fichiers Word

find . -name "*.docx"

Lister les fichiers dont le nom contient une chaine de caractères indépendamment majuscule/minuscule

find . -iname "*toto*"

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