Find

De Octet.ca

Documentation pour la commande find sous GNU/Linux

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'

Source