대문자로만 구성된 모든 하위 폴더 이름을 얻는 방법은 무엇입니까?

대문자로만 구성된 모든 하위 폴더 이름을 얻는 방법은 무엇입니까?

소문자, 밑줄, 점 등이 없이 이름이 AZ로 구성된 상위 폴더의 폴더를 어떻게 얻을 수 있나요?

답변1

"상위 폴더"를 사용하는 것은 다소 혼란스럽습니다. 이렇게 하면 AZ로만 구성된 전체 트리를 탐색할 필요 없이 지정된 경로에 있는 모든 폴더(실제로 디렉터리)를 찾을 수 있습니다.

find /given/path -type d -maxdepth 1 -regextype sed -regex ".*/[A-Z]*"

예를 들어, 현재 디렉터리를 실행하려면

find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"

현재 디렉터리의 상위 디렉터리를 실행하려면,

find .. -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"

현재 디렉터리와 그 아래의 모든 디렉터리를 실행하려면

find . -type d -regextype sed -regex ".*/[A-Z]*"

샘플 출력,

tony@trinity:~$ find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*"
./AA
./TEST

./이제 출력에서 ​​제거 해야 하는 경우 cut나중에 제거할 수 있습니다.

tony@trinity:~$ find . -maxdepth 1 -type d -regextype sed -regex ".*/[A-Z]*" | cut -c 3-
AA
TEST

그러나 이는 전체 트리를 순회하지 않는 경우에만 작동합니다.

답변2

다음 명령을 시도해 보십시오:

ls -1 | grep -w "[A-Z]*"

관련 정보