Удалите все файлы, имена файлов которых содержат конкретную строку?

Я изменил свою тему Wordpress. Более старый создал так много изображения на сервере. Моей новой теме не нужны они, таким образом, я хочу удалить все. Как я могу сделать это?

Например:
Изображение по умолчанию: 12_angry_men_lone_holdout.jpg

Я хочу удалить:

12_angry_men_lone_holdout-290x166.jpg
12_angry_men_lone_holdout-700x300.jpg 
12_angry_men_lone_holdout-50x50.jpg

Использование Digitalocean, Ubuntu 13.10.

22
задан 20 July 2016 в 00:20

5 ответов

Если они находятся в том же употреблении папки * подстановочный знак для достижения этого:

rm *text*

, Где text строка, которую содержит имя файла.

22
ответ дан 23 November 2019 в 01:32

Используйте find, чтобы рекурсивно найти и удалить файлы с "текстом" на их имена:

find -type f -name '*text*' -delete

Вы могли бы также хотеть выполненный find -type f -name '*text*' (без -delete) перед этим удостовериться, что Вы не удалите файлов, которые Вы не намеревались удалить.

<час>

На самом деле, можно поместить подстановочные знаки куда угодно в строку поиска, таким образом -name '12_angry_men_lone_holdout-*.jpg' могло бы более подойти в случае.

27
ответ дан 23 November 2019 в 01:32

Попробуйте это:

rm -rf 12_angry_men_lone_holdout-*

Это будет keep 12_angry_men_lone_holdout.jpg и удалять файлы с размерами (290x166)

И помните

rm -rf 12_angry_men_lone_holdout.*

, удалит файл по умолчанию также, в котором Вы нуждались.

1
ответ дан 23 November 2019 в 01:32
find . -type f -name '*[0-9]x[0-9]*' -delete

Выполните это в родительском каталоге. Это собирается удалить все файлы, которым следовал за цифрой 'x' символ, сопровождаемый другой цифрой на их имя.

Все еще будьте осторожны, это могло бы удалить исходные файлы также, если их имя содержит вышеупомянутый шаблон (вряд ли). Выполните его сначала без '-delete', чтобы видеть, есть ли у Вас какие-либо файлы, которые имеют такое имя. Если это так, необходимо будет просто найти более строгий шаблон.

0
ответ дан 23 November 2019 в 01:32

Я обнаружил, что если вы хотите удалить каталог, который начинается с определенной буквы, вы можете использовать следующую команду:

Допустим, вы создали следующие папки:

  • Baka
  • baka
  • Aka
rm -rf B* b*

Это удалит все каталоги, начинающиеся с этих букв (заглавная B и строчная b).

После выполнения этой команды вы сохраните только папку с именем Aka. Вы можете проверить это, используя ls, чтобы вывести список оставшихся папок в текущем каталоге.

1
ответ дан 2 June 2020 в 16:24

Другие вопросы по тегам:

Похожие вопросы: