소문자, 밑줄, 점 등이 없이 이름이 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]*"