[Video] v22. Автоматическое удаление старых бекапов (part 2).

Это продолжение к видео [Video] v22. Автоматическое удаление старых бекапов.
К этом у видео был задан интересный вопрос и я решил на него ответить.
Вопрос:

“Как можно удалить все бекап файлы кроме последних 10?”

В своём скрипте я удаляю все файлы кроме последних 5 (подробнее о используемых команда смотрите в видео).
#!/bin/bash
set `ls -t | grep test...txt$`
i=$#
while [ "$i" -gt 5 ]
do
echo "i=" $i
echo "file to remove=" $1
rm $1
i=$(($i-1))
shift
done
exit 0

Дополнительно. Подбор комманд для создания файлов с разным временем последней модификации (для тестирования скрипта):
touch -d "$(date) - 2 hours" test-{a..z}.txt
touch -d "$(date) - 4 hours" test-{a..e}.txt
touch -d "$(date) - 346 minutes" test-{a..e}.txt
touch -d "$(date) - 433 minutes" test-{f..k}.txt
touch -d "$(date) - 111 minutes" test-{l..q}.txt
touch -d "$(date) - 621 minutes" test-{r..v}.txt
touch -d "$(date) - 222 minutes" test-{w..z}.txt

Дополнительно про позиционные параметры и циклы:
Shifting