Рекурсивное удаление файлов по маске. Подскажите.

WS
На сайте с 07.06.2008
Offline
108
574

Здравствуйте. Подскажите пожалуйста команду ssh.

В общем на сервере есть папка "site.ru" в ней есть куча вложенных папок "1,2,3...100"

Нужно удалить файлы по маске (маску я не знаю даже как составить правильно, поэтому покажу по своему синтаксису, где * это любой символ):

*preview.jpg

Покажите на пальцах как сделать так чтобы все файлы по этой маске были удалены в папках "1,2,3...100", которые в свою очередь находятся в папке "site.ru", расположенной по пути к примеру /home/sites/data/www/site.ru

Уточню, я нуб в этом деле, поэтому крайне желательно готовую команду, кто знает.

ИМХО лучший Российский хостинг. Пользуюсь более 7 лет. (http://timeweb.ru/?i=4819&a=0001)
baas
На сайте с 17.09.2012
Offline
133
#1
find /home/sites/data/www/site.ru/ -type f -name "preview.jpg" -exec rm -f {} \;

А если так?

Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
VO
На сайте с 27.07.2008
Offline
130
#2
baas:
А если так?

Так найдет только точное совпадение, файлы preview.jpg, нужно -name "*preview.jpg"

Сначала просто делаете find, убеждаетесь, что находит именно то, что нужно и ничего больше и после этого добавляете -delete

Как и всегда, желательно сначала сделать бэкап)

Проверяете, что находит то, что ожидаете

find /home/sites/data/www/site.ru -type f  -name "*preview.jpg" 

Если все ок,

find /home/sites/data/www/site.ru -type f  -name "*preview.jpg" -delete  
WS
На сайте с 07.06.2008
Offline
108
#3

Спасибо большое

find /home/sites/data/www/site.ru -type f -name "*preview.jpg"

и

find /home/sites/data/www/site.ru -type f -name "*preview.jpg" -delete

Работают. Жаль при удалении putty не показывает лог, но в фоне всё срабатывает на ура, файлы делетятся нужные.

M
На сайте с 17.09.2016
Offline
96
#4

find /home/sites/data/www/site.ru -type f -name "*preview.jpg" -delete -print

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий