Sélection des fichiers rpm d'un dossier et application pour chacun d'entre eux de la commande mv pour les déplacer dans un autre dossier.
find . -name "*.rpm" | xargs -n 1 -I {} mv {} /data/rpm_packages
Sélection des fichiers cachés d'un ancien répertoire /home pour les copier sur le nouveau /home avec rsync.
find /mnt/data/romain/ -maxdepth 1 -name ".*" | xargs -n 1 -I {} rsync -av {} /home/romain/
Vérification de la conformité des liens symboliques (pointent bien sur un fichier ou un dossier).
find /data -type l -exec ls -l {} \; | awk '{print $NF}' | xargs -n 1 ls -l 1>/dev/null
Cette commande récupère le fichier ou le dossier pointé par le lien et applique la commande ls -l. Si le lien est mort, la cible n'existe pas.
Liste des derniers fichiers modifiés dans les 30 dernières minutes.
find / -not -path '/sys*' -not -path '/dev*' -not -path '/proc*' -mmin -30
Rechercher un caractère dans les fichiers.
find /root -type f -name "*" -exec grep -l 'toto' {} \;
Rechercher des fichiers xml ou log appartenant à une date précise.
find / -type f \( -name "*.log" -o -name "*.xml" \) -printf "%h/%f\t%CY-%Cm-%Cd\n" 2>/dev/null | grep ${date} | awk '{print $1}'
L'idée est d'utiliser la fonction printf pour formater la date et ainsi pouvoir filtrer sur les dates affichées.
Autres solutions basées sur des version de find différentes : http://stackoverflow.com/questions/158044/how-to-use-find-to-search-for-files-created-on-a-specific-date
Suppression de fichiers ou dossiers plus vieux qu'un fichier créé à une date voulue.
touch -t 201208010000 dummyfile find /tmp -type f ! -newer /tmp/dummyfile -delete touch -t 201208010000 dummyfile find /tmp -type d ! -newer /tmp/dummyfile -exec rm -f {} \; touch -t 201208010000 dummyfile && find /tmp -type f ! -newer /tmp/dummyfile -exec rm -f {} \; && touch -t 201208010000 dummyfile && find /tmp -type d ! -newer /tmp/dummyfile -exec rm -rf {} \; && rm -rf /tmp/dummyfile