Find
De Octet.ca
Documentation pour la commande find
sous GNU/Linux
Sommaire
Exécuter une commande[modifier]
Pour exécuter une commande avec les résultats du find comme arguments:
find ./ -name 'fichier*' -exec commande {} \;
Pour déplacer les fichiers[modifier]
find ./ -type f -name "fichier*" -exec mv -i {} /repertoire/destination \;
Pour bzip chaque fichier[modifier]
Chaque fichier va être compressé et avoir l'extension 'bz2':
find ./ -type f -name "fichier*" -exec bzip2 {} +
Identifier les vidéos[modifier]
Imprime les chemins d'accès des vidéos:
find ./ -type f -exec file -N -i -- {} + | sed -n 's!: video/[^:]*$!!p'
Temporel[modifier]
Identifier fichiers modifiés il y a exactement N jours[modifier]
find ./ -mtime N -name "*.JPG"
Identifier fichiers modifiés il y a plus ou moins de N jours[modifier]
Plus de N jours:
find ./ -mtime +N -name "*.JPG"
Moins de N jours:
find ./ -mtime -N -name "*.JPG"
Identifier fichiers modifiés a une date spécifique[modifier]
To find all files modified on the 7th of June, 2007:
$ find . -type f -newermt 2007-06-07 ! -newermt 2007-06-08
Volume / Espace disque[modifier]
Répertoires vides[modifier]
find /path/to/dest -type d -empty
Fichiers vides[modifier]
find /path/to/dest -type f -empty
Fichiers < 1 Mo[modifier]
find . -type f -size -1M
Fichiers == N octets[modifier]
find /home/ -type f -size 6579b
- b – for 512-byte blocks (this is the default if no suffix is used)
- c – for bytes
- w – for two-byte words
- k – for Kilobytes (units of 1024 bytes)
- M – for Megabytes (units of 1048576 bytes)
- G – for Gigabytes (units of 1073741824 bytes)
Identifier les fichiers correspondants à une chaîne de caractères, ou à une autre[modifier]
find /path/to/dest \( -name "match1*" -o -name "match2*" \)
Effacer des fichiers avec locate
[modifier]
Pour effacer les fichiers avec une demande à chaque fichier:
locate .DS_Store | xargs -p -ixxx rm -f 'xxx'
Pour effacer toute d'un coup quand on est sûr où on s'en va:
locate .DS_Store | xargs -ixxx rm -f 'xxx'