Как удалить файлы, измененные между конкретными датами?

Как в теме: Я хотел бы удалить файлы в каталоге, которые были изменены в конкретном диапазоне дат. Как я могу сделать это?

11
задан 7 December 2012 в 00:06

1 ответ

Команда GNU find путь состоит в том, чтобы пойти. Например, для удаления всех файлов в текущем каталоге между 1 и 5 августа можно использовать следующую команду

find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete

Лучше выполнить команду без -delete действие, во-первых, для наблюдения списка заинтересованных файлов (хорошая замена могла быть -ls тот продукт подобный ls список).

Удаление -maxdepth 1 спецификация пересечет все подкаталоги, также.

Можно также указать часы, например

find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \
                         ! -newermt '2011-08-06 23:01:00' -delete

Попросите не удалить одинарные кавычки, которые защищают пробелы между датой и временем.

Символ ! отрицание, оно должно быть считано: более новый, что эта дата, но не более новый, что эта другая дата.

17
ответ дан 23 November 2019 в 04:00

Другие вопросы по тегам:

Похожие вопросы: