le problème d'une command à base de find -exec du {}, c'est que tu vas recalculer la taille de tous les sous-dossiers (si t'es en extX, me semble le fs ne garde pas d'infos sur la taille d'un dossier, juste sur celles d'un fichier, donc du parcours toute l'arbo de chaque dossier pour calculer sa taille, sans memoïsation puisqu'il est appelé indépendamment sur chaque dossier par le find).
Une commande qui fait le du d'abord sera sûrement plus rapide (j'ose espérer que du fait de la memoization en interne. Je pense que oui puisqu'il printe d'abord les dossiers les plus profonds puis remonte)
Code :
- limitdate = $(date -d "2019-01-30 01:56" +%s)
- du -h --time --time-style=+%s . | while read line; do if [[ $(cut -f2 <<< "$line" ) -ge "$limitdate" ]]; then echo "$line"; fi; done
|
En gros, du imprime la taille de tous les sous-dossier (mais pas les fichiers, pour ça il faudrait mettre "-ha" au lieu de "-h" ) et leur timestamp de modification, puis on pipe ça dans un filtre qui compare au timestamp d'une date limite donnée.
La flemme de faire des tests, mais ça m'intéresse de savoir si ça va plus vite sur ton problème.
Message édité par Demodulateur le 27-12-2018 à 05:10:54