Le script suivant fonctionne pour un seul dossier, mais je veux itérer dans tous les sous-répertoires.
ls /home/user/Desktop/cron_database_hourly/*/*_[012][0-9]*.zip | head -n -1 | \
while read -r f; do rm "$f"; done
Le script suivant fonctionne pour un seul dossier, mais je veux itérer dans tous les sous-répertoires.
ls /home/user/Desktop/cron_database_hourly/*/*_[012][0-9]*.zip | head -n -1 | \
while read -r f; do rm "$f"; done
Vous pourriez probablement vous en sortir avec quelque chose comme (non testé) -
for each in `find -type d /home/usr/Desktop/cron_database/hourly`
do
ls -t $each/_[012][0-9]*.zip | head -n -1 | \ while read -r f;
do
rm "$f"
done
done
la boucle "for each" trouvera une liste de tous les répertoires, et ajouter un "-t" à ls le fera trier par ordre de date - le plus récent en premier.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.