Удалить все файлы из каталога, содержащие определенное слово.

Удалить все файлы из каталога, содержащие определенное слово.

Я перешел в определенный каталог в файловой системе и хочу удалить все файлы в этом каталоге, содержащие «sofa_» в имени файла.

Может ли кто-нибудь подсказать, как это можно сделать?

решение1

Если все файлы находятся в одном каталоге (без подкаталогов), просто запустите:

rm *sofa_*

Если вам нужно перейти в подкаталоги, используйте find:

find . -name "*sofa_*" -type f -delete

Или, если вы используете bash, включите globstarопцию, которая заставляет **сопоставлять все файлы и 0 или более подкаталогов (делая поиск рекурсивным):

shopt -s globstar

Затем:

rm **/*sofa_*

решение2

find . -name "*sofa_*" -type f | xargs rm

Или как правильно заметили в комментариях:

find . -name "*sofa_*" -type f -delete

Связанный контент