lundi 27 octobre 2008

Find usage

Dans répertoire courant,
Lister les fichiers modifiés il y a MOINS de 20 jours :
$ find . -type f -mtime -20 -exec ls {} \;
Lister les fichiers modifiés il y a PLUS de 20 jours :
$ find . -type f -mtime +20 -exec ls {} \;
Effacer les fichiers modifiés il y a PLUS de 20 jours :
$ find . -type f -mtime +20 -exec rm -rf {} \;
Déplacer les fichiers modifiés il y a PLUS de 20 jours dans /home/tmp :
$ find . -type f -mtime +20 -exec mv {} /home/tmp/. \;
Plus généralement avec une commande :
$ find . -type f -mtime +20 -exec my_command {} /home/tmp/. \;
Trouver les fichiers de plus de 100M :
$ find . -type f -size +100M -exec ls {} \;
Trouver les fichiers avec une permission de 644 :
$ find . -perm 644
Trouver les fichiers dans le répertoire courant avec un filtre par fichier xargs :
$ find . -type f | xargs grep "toto@titi.com"
Trouver des fichiers et rediriger dans un TAR :
$ find . -type f -print0 | tar -czvf backup.tar.gz --null -T -
Exclure des répertoires courants :
$ find . -type f -print0 -not -path "." -not -path ".." | xargs -0 ...votre_commande...
Copier les fichiers (ex: csv) en préservant la structure des répertoires :
$ find . -name '*.csv' -exec cp --parents \{\} /target \;

Aucun commentaire: