====== 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.
----
[[all:bibles:linux:commandes:tar|Haut de page]]