Задать вопрос
@b4rret

Как найти и удалить все файлы старше X дней, кроме определенных?

Сейчас строка поиска и удаления файлов выглядит так:
find /dir -type f -mtime +2 -exec rm -rf {} \;
Но понадобилось исключить определенные файлы . Как это сделать?
  • Вопрос задан
  • 922 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Linux для робототехников
    3 месяца
    Далее
  • Учебный центр IBS
    AL-1802 Администрирование Astra Linux Special Edition 1.8
    2 недели
    Далее
  • Слёрм
    Linux для разработчиков
    2 недели
    Далее
Решения вопроса 1
@strelmax
для исключения определенных файлов используйте ! -name имя_файла_который_исключить
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
redsabien
@redsabien
Вот так
find ./ -name *.sh -prune -o -name *.test -prune -o -print
Надеюсь разберешься

в данном случае выведутся ВСЕ файлы в директории кроме тех что оканчиваются на *.sh или на *.test
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
find /dir -not -iname "*bla" -not -iname "*bla2" -type f -mtime +2 -exec rm -rf {} \;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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