====== La commande "find" ====== La page de [[man de find]]. ===== Exemples ===== ==== Pour renommer des fichiers ==== J'ai utilisé "find" pour créer un fichier "nom.extension.html" à côté de chaque fichier "nom.extension", pour [[minigalnano]]. Si on est pas dans le bon dossier, on peut donner l'emplacement : $ find /home/simon/emplacement/ -iname "*.JPG" -execdir sh -c 'touch `echo "$1" | sed "s/\.\///" | sed "s/\.JPG/\.html/"`' sh {} \; Si on est dans le bon répertoire, pas besoin : $ find -iname "*.JPG" -execdir sh -c 'touch `echo "$1" | sed "s/\.\///" | sed "s/\.JPG/\.html/"`' sh {} \; ==== Pour trouver des liens cassés ==== $ find . -xtype l ==== Pour trouver les derniers fichiers modifiés ==== Depuis 24h (ou 1320 minutes) : root@mon-serveur:/# find /var/www/html/ -mmin -1320 Ou avec des dossiers exclus : find / -not -path '/sys*' -not -path '/dev*' -not -path '/proc*' -mmin -60 __Source:__ [[http://www.tux-planet.fr/trouver-les-derniers-fichiers-modifies-sous-linux/|http://www.tux-planet.fr/trouver-les-derniers-fichiers-modifies-sous-linux/]] ==== Pour trouver les dossiers qui ont été modifié il y a plus de x jours et les compresser ==== L'arborescence : $ tree -d . ├── 4 │   ├── 19 │   ├── 20 │   ├── 23 │   ├── 24 │   └── 30 └── 5 ├── 1 ├── 10 ├── 11 ├── 12 ├── 2 ├── 3 ├── 5 └── 6 $ find . -type d | find -ctime 0 -type d -regextype sed -iregex ".*[0-9]/[0-9]*" ./4/23 ./4/24 ./4/20 ./4/19 ./4/30 ./5/2 ./5/11 ./5/10 ./5/5 ./5/3 ./5/12 ./5/1 ./5/6 Et avec le [[tar]] pour faire des archives de chaque sous-dossier : $ find . -type d | find -ctime 0 -type d -regextype sed -iregex ".*[0-9]/[0-9]*" -exec tar -czf {}.tar.gz {} \; $ tree -L 2 . ├── 4 │   ├── 19 │   ├── 19.tar.gz │   ├── 20 │   ├── 20.tar.gz │   ├── 23 │   ├── 23.tar.gz │   ├── 24 │   ├── 24.tar.gz │   ├── 30 │   └── 30.tar.gz └── 5 ├── 1 ├── 10 ├── 10.tar.gz ├── 11 ├── 11.tar.gz ├── 12 ├── 12.tar.gz ├── 1.tar.gz ├── 2 ├── 2.tar.gz ├── 3 ├── 3.tar.gz ├── 5 ├── 5.tar.gz ├── 6 └── 6.tar.gz