найти файлы журналов старше 30 дней

найти файлы журналов старше 30 дней

Я работаю над скриптом для поиска файлов старше 30 дней в заданной папке. Согласно требованиям, мне нужно удалить только файлы с расширением.бревноили.внеи пропускать подкаталоги.

Следующая команда возвращает все файлы .log*, измененные 30 дней назад. Однако она возвращает все файлы .out, даже самые последние. Что-то не так в приведенном ниже коде?

    find -maxdepth 1 -mtime +30 -type f -name "*.log*" -o -name "*.out*"

Не могли бы вы мне сообщить, что не так в приведенном выше утверждении?

решение1

Пытаться:

find -maxdepth 1 -mtime +30 -type f \( -name "*.log*" -o -name "*.out*" \)

Проблема была в том, что findсвязывает логическое-и более тесное, чем логическое-или. Скобки противодействуют этому.

Без скобок findищет файлы, которые соответствуютили(а)-mtime +30 -type f -name "*.log*" или(б) -name "*.out*".

С круглыми скобками findищет файлы, которые (а) соответствуют-mtime +30 -type f и(б) соответствует либо , -name "*.log*"либо -name "*.out*".

Связанный контент