On 4/4/21 10:29 AM, JUPIN Alain wrote:
Le 04/04/2021 à 09:50, Jean-Damien Durand a écrit :

Sans prétendre que ce soit plus rapide, tu n'auras pas le problème de "trop d'arguments" en faisant:

    find /tmp -cmin +30 -type f -exec rm -f {} \;

Tu peux rajouter -print pour le voir avancer.

J'ai rajouté -type f puisque tu ne parles que de fichiers.


Je me demande en le lisant pourquoi je n'y ai même pas pensé

Par contre lancer 56 millions de fois la copmmande rm, ca risque de prendre un temps de dingue, mais avec -print on a au moins l'impression que "ca avance" lol


Sur un PC moderne, le lancé d'un processus prend quelques millisecondes. Donc 56 millions de fois, ca prendra quelques heures.

Une alternative est bien sûr d'*améliorer* le code d'un *shell existant codé* en C.

Par exemple GNU bash <https://www.gnu.org/software/bash/> ou zsh <http://zsh.org/> ... On peut aussi modifier sash <http://www.baiti.net/sash/> ....

Ou lire /Advanced Linux Programming/ <https://mentorembedded.github.io/advancedlinuxprogramming/> (en anglais) et utiliser nftw(3) <https://man7.org/linux/man-pages/man3/nftw.3.html> avec unlink(2) <https://man7.org/linux/man-pages/man2/unlink.2.html> et d'autres syscalls(2) <https://man7.org/linux/man-pages/man2/syscalls.2.html>

--

Basile Starynkevitch                  <bas...@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/

Répondre à