Bash 찾기 디렉토리 이름

Bash 찾기 디렉토리 이름

숫자를 받아 변수로 이동하는 스크립트가 있습니다.$n. 질문 이름에 이 문자/번호가 포함된 디렉터리를 어떻게 찾을 수 있나요?

답변1

한 수준의 디렉토리만 보고 싶기 때문에 shell glob을 사용할 수 있습니다.*$n*

ls ./*"$n"*

그러나 이것은 파일과 디렉토리를 구별하지 않습니다. 따라서 루프를 사용하여 각 유형을 확인할 수 있습니다

for f in *"$n"*
do
    if [ -d "$f" ]
    then
        printf "%s\n" "$f"
    fi
done

또는 를 사용하세요 find. 단, 특수 문자를 $n패턴 일치의 일부로 해석한다는 점에 유의하세요.

find . -maxdepth 1 -type d -name "*$n*"

이 특별한 경우에는 이 변형을 사용할 수도 있습니다.

find ./*"$n"* -maxdepth 0 -type d

관련 정보