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: 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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.