Следующий скрипт работает для одной папки, но я хочу перебрать все подкаталоги.
ls /home/user/Desktop/cron_database_hourly/*/*_[012][0-9]*.zip | head -n -1 | \
while read -r f; do rm "$f"; done
Следующий скрипт работает для одной папки, но я хочу перебрать все подкаталоги.
ls /home/user/Desktop/cron_database_hourly/*/*_[012][0-9]*.zip | head -n -1 | \
while read -r f; do rm "$f"; done
Вы могли бы, вероятно, сойти с рук что-то вроде (не проверено) -
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
цикл "for each" найдет список всех каталогов, а добавление «-t» к ls приведет к его сортировке в порядке дат - с самыми последними в первую очередь.