LINUX.ORG.RU
ФорумAdmin

Удаление файлов через команду find

 , ,


0

2

Приветствую Всех! У меня вопрос в каталоге нужно удалить определенные файлы c маской например console.log.2.1.1.1 а некоторые оставить такие как console.log.2 + не проверять папку catalog1

При команде:

find /var/log/test/ -path «catalog1» -prune -o ! -name «log.*.*» -type f -exec rm -rf {} \;

Удаляет все файлы в /var/log/test - console.log.2.1.1.1 и console.log.2

файлы

-type f

удалить

-delete

mord0d ★★★ ()

* - это любое количество символов в том числе и их полное отсутствие.
используй для теста -print и почитай man по реализации выражений.

pfg ★★★ ()
Последнее исправление: pfg (всего исправлений: 1)

Ты скобочки забыл

find /var/log/test/ -path "catalog1" -prune -o \( -type f -name "log.delete.me.*" -not -name "log.*.*.keep.me" -delete \)
legolegs ★★★★★ ()
Ответ на: комментарий от legolegs

find /var/log/test/ -path «catalog1» -prune -o \( -type f -name «log.delete.me.*» -not -name «log.*.*.keep.me» -delete \)

Не, выдает ошибку

troy856 ()
Ответ на: комментарий от legolegs

Какую?

find: The -delete action automatically turns on -depth, but -prune does nothing when -depth is in effect. If you want to carry on anyway, just explicitly use the -depth option.

troy856 ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей