Я пытаюсь найти все файлы, имя которых начинается с заглавной буквы. Я попытался с помощью следующей команды:
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?
Это работает. Не могли бы вы объяснить, почему в ответе?
—
Карл Билефельдт
Я мог бы попробовать, но тогда вы можете пропустить это .
—
mikeserv
Почему вы избегаете косой черты (
—
Кристиан Чиупиту
\/)? Кроме того, что находка вы используете ( find --version)?
Экранирование
—
deltab
/необходимо только тогда, когда вы используете его как разделитель, например, в s/foo\/bar/foobar/. (Но часто вы можете использовать какой-то другой разделитель:. s#foo/bar#foobar#)
LC_ALL=C find ...?