Удаление старых бэкапов

Скрипт оставляет определённое кол-во свежих файлов (каталогов, архивов), а остальное удаляет.

#!/bin/bash

#целевой каталог
target_dir=

#кол-во оставляемых файлов
limit=

n=1
for i in `ls $target_dir -t`
do
 if [ $n -gt $limit ]
 then
rm -Rvf $target_dir/$i

fi
 n=$(($n+1))
done