Я пытаюсь найти все файлы, имя которых начинается с заглавной буквы. Я попытался с помощью следующей команды:
find . -type f -regex '.*\/[A-Z][^/]*'
Он находит пути только строчными буквами. Следующие работы:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
Так же как и:
find . -type f | grep '.*\/[A-Z][^/]*$'
Я пробовал все разные варианты regextype
, с тем же результатом.
Почему find
строчные буквы в [A-Z]
? Я думал, что регулярное выражение для этого было [a-zA-Z]
. Есть ли способ указать диапазон только заглавных букв в find
?
LC_ALL=C find ...
?\/
)? Кроме того, что находка вы используете (find --version
)?/
необходимо только тогда, когда вы используете его как разделитель, например, вs/foo\/bar/foobar/
. (Но часто вы можете использовать какой-то другой разделитель:.s#foo/bar#foobar#
)Ответы:
Вам не нужно использовать
-regex
. Вы можете использовать-name
вместо этого.источник