informatique:find
Table des matières
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/
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
informatique/find.txt · Dernière modification : 2020/08/09 13:03 de 127.0.0.1