Я намагаюся знайти всі файли, для яких ім'я починається з великої літери. Я спробував використати таку команду:
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 ...?