Я намагаюся знайти всі файли, для яких ім'я починається з великої літери. Я спробував використати таку команду:
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
)?
Утеча
—
дельтаб
/
необхідна лише тоді, коли ви використовуєте її як роздільник, наприклад в s/foo\/bar/foobar/
. (Але часто ви можете використовувати якийсь інший роздільник:. s#foo/bar#foobar#
)
LC_ALL=C find ...
?