#1 18.02.2015 04:48:53

PodKayfom
Administrator
Зарегистрирован: 11.11.2014
Сообщений: 68
IP-адрес

Как удалить определённые картинки ?

На сервере скопилось много мусорных (неиспользуемых) картинок. Они содержат в названии определённые символы - 150x , 300x , x50 . Пока скачиваю каталоги на комп, чищу вручную, потом удаляю каталог с сервера и заменяю новым. Но это занимает кучу времени. Ищу способ упростить работу - например команду CentOS чтобы стереть все такие картинки с сервера или из определённого каталога.

#2 18.02.2015 06:37:26

Vascom
Administrator
Зарегистрирован: 02.04.2010
Сообщений: 4 019
IP-адрес

Как удалить определённые картинки ?

Можно так (только сперва проверь без -delete)

find . -regextype posix-egrep -regex ".*150.*|.*300.*|.*50.*" -delete

Удалит все файлы, содержащие эти последовательности символов в названии. Если там есть файлы других типов, то можно поправить регулярное выражение.

#3 18.02.2015 06:45:40

PodKayfom
Administrator
Зарегистрирован: 11.11.2014
Сообщений: 68
IP-адрес

Как удалить определённые картинки ?

Что то не работает (использовал без delete ). Команда никакой информации не вывела.
К тому же мне надо удалить не 300, 150 и 50, а 300x, 150x и x50.

#4 18.02.2015 06:50:13

Vascom
Administrator
Зарегистрирован: 02.04.2010
Сообщений: 4 019
IP-адрес

Как удалить определённые картинки ?

Ну подставь иксы. Должно работать, я проверил.
Вместо первой точки подставь путь к каталогу.

#5 18.02.2015 07:04:14

PodKayfom
Administrator
Зарегистрирован: 11.11.2014
Сообщений: 68
IP-адрес

Как удалить определённые картинки ?

Спасибо, вроде как заработало.

find /home -regextype posix-egrep -regex ".*150x.*|.*300x.*|.*x50.*"

Но x50 много лишнего вывело, чего бы мне очень не хотелось бы удалять.

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

find /home -regextype posix-egrep -regex ".*150x.*|.*300x.*"

Ещё раз спасибо за помощь.

#6 18.02.2015 07:05:13

Vascom
Administrator
Зарегистрирован: 02.04.2010
Сообщений: 4 019
IP-адрес

Как удалить определённые картинки ?

Почитай про регулярные выражения, тогда сможешь сделать чтобы лишнего не выводило.

#7 18.02.2015 07:17:59

PodKayfom
Administrator
Зарегистрирован: 11.11.2014
Сообщений: 68
IP-адрес

Как удалить определённые картинки ?

Спасибо. Если вам нетрудно, помогите мне пожалуйста конкретизировать регулярное выражение. У всех этих картинок есть общий префикс mark- . Картинки у которых этого префикса нету удалять не надо.

#8 18.02.2015 07:23:19

Vascom
Administrator
Зарегистрирован: 02.04.2010
Сообщений: 4 019
IP-адрес

Как удалить определённые картинки ?

Так?

".*mark-150x.*|.*mark-300x.*|.*mark-x50.*"

Или, если между mark- и 150x что-то ещё есть, то вот так
".*mark-.*150x.*|.*mark-.*300x.*|.*mark-.*x50.*"

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

#9 18.02.2015 07:26:14

PodKayfom
Administrator
Зарегистрирован: 11.11.2014
Сообщений: 68
IP-адрес

Как удалить определённые картинки ?

Спасибо за подсказку. *DRINK* Второй вариант - между mark- и 150x кое что есть.

#10 18.02.2015 07:28:23

Vascom
Administrator
Зарегистрирован: 02.04.2010
Сообщений: 4 019
IP-адрес

Как удалить определённые картинки ?

На будущее: в этом варианте регулярных выражений символ "." заменяет любой другой символ, а "*" означает любое число повторений предыдущего символа.

#11 18.02.2015 07:39:20

lone_wolf
Administrator
Зарегистрирован: 04.11.2010
Сообщений: 1 306
IP-адрес

Как удалить определённые картинки ?

Quote by Vascom
Почитай про регулярные выражения, тогда сможешь сделать чтобы лишнего не выводило.

если не затруднит, подскажите что лучше почитать по регулярным выражениям для полного профана в них ?

#12 18.02.2015 07:41:07

Vascom
Administrator
Зарегистрирован: 02.04.2010
Сообщений: 4 019
IP-адрес

Как удалить определённые картинки ?

Да я и сам в них не очень разбираюсь, просто надо было иногда.
Начать можно с этого https://ru.wikipedia.org/wiki/Регулярные_выражения

#13 18.02.2015 08:33:26

bormant
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 2 265
IP-адрес

Как удалить определённые картинки ?

Без регулярных выражений, только с глобингом это могло выглядеть так:

find . -name 'mark-*150x*' -o -name 'mark-*300x*' -o -name 'mark-*x50*' -delete

#14 18.02.2015 08:34:25

Vascom
Administrator
Зарегистрирован: 02.04.2010
Сообщений: 4 019
IP-адрес

Как удалить определённые картинки ?

Вот я не знал как это "ИЛИ" делать :)

#15 18.02.2015 08:35:21

bormant
Administrator
Зарегистрирован: 22.02.2010
Сообщений: 2 265
IP-адрес

Как удалить определённые картинки ?

Можно нагляднее, -or, синоним -o.

Board footer