Я хочу удалить файлы * .mp3, время доступа которых старше 10 минут в каталоге. Как я могу сделать? Спасибо.
Я бы использовал -amin
переключиться с find
команда:
find <path> -name "*.mp3" -amin +10 -exec rm -f {} \;
Из man find
:
-amin n
File was last accessed n minutes ago.
Для целей тестирования или отладки не запускайте rm
команда, но ls -l
вместо этого:
find <path> -name "*.mp3" -amin +10 -exec ls -l {} \;
редактировать
Я просто хотел сказать пару слов о -delete
опция: эта опция автоматически включает -depth
вариант.
Положив -delete
сделаю find
попробуйте удалить все, что ниже указанной начальной точки. Чтобы избежать неприятных сюрпризов, я бы явно указал -depth
вариант.
Поскольку я не знаю дерево папок / файлов OP, я не буду предлагать ему использовать -delete
вариант в одиночку. Мне кажется, что я немного потерял сознание.
По крайней мере, я бы посоветовал:
find <path> -maxdepth 1 -name "*.mp3" -amin +10 -delete
Предполагая, что достаточно актуальный find
команда: find /path/to/mp3/files -amin +10 -delete
. Я бы, конечно, запустил его без флага «-delete» в первый раз, чтобы убедиться, что вы удаляете то, что, по вашему мнению, удаляете.
Из find
страница руководства:
TESTS
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
-amin n
File was last accessed n minutes ago.
Вы можете легко сделать это с помощью find
find . -amin +10 -iname '*.mp3' -exec rm {} \;