Как удалить файлы с именами файлов в верхнем регистре linux? - PullRequest
3 голосов
/ 30 января 2020

Допустим, у меня есть каталог, содержащий следующие файлы:

ls

ABC BCD CDE DEF abc bcd cde def Abc

Как удалить все файлы с именами файлов в верхнем регистре? (в этом случае удалите ABC BCD CDE DEF)

Ответы [ 2 ]

4 голосов
/ 30 января 2020

Используя GNU find:

find . -maxdepth 1 ! -name '*[![:upper:]]*' -delete

Обратите внимание, что это не приводит к переходу в подкаталоги и не удаляет непустые каталоги, имена файлов которых находятся в верхнем регистре.

1 голос
/ 31 января 2020
shopt -s extglob
rm ./!(*[![:upper:]]*)

Сначала включаются расширенные шаблоны глобирования в bash, а затем используется расширенный шаблон глобинга ./!(*[![:upper:]]*) для сопоставления всех имен в текущем каталоге, которые не содержат никаких заглавных букв (т.е. только заглавные буквы) .

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