====== 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]]