stat -c "%Y %n" * | sort -rn | head -n +10 | \
cut -d ' ' -f 1 --complement | xargs -d '\n' rm
Разбивка: получить время последнего изменения для каждого файла (в формате "time
filename
"), отсортировать их от самых старых до самых новых, сохранить все, кроме последних десяти записей, а затем сохранить все, кроме первого поля (оставьте только часть имени файла).
Редактировать : Использование cut
вместо awk
, так как последнее не всегда доступно
Редактировать 2 : теперь обрабатывает имена файлов с пробелами