숫자를 받아 변수로 이동하는 스크립트가 있습니다.$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