이름이 대문자로 시작하는 파일 찾기


14

이름이 대문자로 시작하는 모든 파일을 찾으려고합니다. 다음 명령을 사용해 보았습니다.

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있습니까?


5
무엇에 대해 LC_ALL=C find ...?
mikeserv

작동합니다. 왜 답을 설명 할 수 있습니까?
Karl Bielefeldt

3
나는 시도 할 있지만, 당신 은 이것을 놓칠있습니다 .
mikeserv

1
왜 슬래시 ( \/) 를 피하고 있습니까? 또한 ( ) 을 사용하여 찾은 것은 무엇 find --version입니까?
Cristian Ciupitu

1
이스케이프 /는 구분 기호로 사용하는 경우에만 필요합니다 (예 :에서) s/foo\/bar/foobar/. (그러나 종종 다른 구분 기호를 사용할 수 있습니다 s#foo/bar#foobar#.)
deltab

답변:


35

을 사용할 필요는 없습니다 -regex. -name대신 사용할 수 있습니다 .

find . -type f -name "[[:upper:]]*"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.