В каталоге есть файлы с именами, заканчивающимися от 001 до 100. Как вы можете удалить 2,4,6,8 ... 100. И может ли это быть написано как сценарий. Как только каталог становится недельным, он должен запускаться. И через месяц снова. Цель состоит в том, чтобы удалить половину последних данных.
2 ответа
3
Вы можете использовать bash для цикла с шагом (если это bash v4)
так было бы
#!/usr/bin/bash
cd /path/to/directory/
for i in `ls *{0..100..2}`
do
rm $i
done
это может быть помещено в ваш crontab для запуска каждую неделю / месяц
00 11 1 * * /path/to/script.sh запустит его в первый день месяца в 11:00.
00 11 * * 1 /path/to/script.sh будет запускать его каждый понедельник
1
Нечто подобное должно работать (не могу проверить прямо сейчас, поэтому сначала проверьте дублирующиеся данные) -
find /path/to/directory -type f -name '*[02468].jpg' -delete
или с помощью rm
-
find /path/to/directory -type f -name '*[02468].jpg' -exec rm {} +