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

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

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

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

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

Используя Digitalocean, Ubuntu 13.10.

Воспользуйся find для рекурсивного поиска и удаления файлов с "текстом" в их названиях:

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

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


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

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

rm *text*

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

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

rm -rf 12_angry_men_lone_holdout-*

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

И, пожалуйста, помните

rm -rf 12_angry_men_lone_holdout.*

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

find . -type f -name '*[0-9]x[0-9]*' -delete

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

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

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

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

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

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

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

на терминале введите “man rm”, чтобы просмотреть страницу руководства по команде rm.

возможный дубликат Как искать и удалять файлы, содержащие определенную строку в name

Похоже, что эти изображения являются автоматически созданными миниатюрами изображений, загруженных в вашу медиатеку WorldPress. Если это так, то не удаляйте эти файлы в терминале на сервере. Откройте страницу администратора WordPress, откройте “Настройки” > “Медиа”. Установите там желаемые размеры миниатюр изображений. Затем установите плагин [Восстановить миниатюры](Regenerate Thumbnails – WordPress plugin | WordPress.org /) и заново создайте все эскизы (может занять несколько минут, в зависимости от количества изображений в вашей медиатеке).