bash에서 와일드카드를 사용하여 디렉토리 일치

bash에서 와일드카드를 사용하여 디렉토리 일치

폴더 구조는 다음과 같다고 가정합니다.

/home/
--user1/asdf
--user2/asdf1234
--user3/asdf325234
--cool/asdf

사용자를 지정하지 않고 어떻게 asdf1234로 변경할 수 있나요? 예를 들어:

cd /home/*/asdf1234

Bash에서 "not"을 사용하는 방법은 무엇입니까? 예를 들어, 가고 싶지만 /home/cool기능을 사용하지 않고 가고 싶다고 가정해 보겠습니다.

cd /home/!user*/asdf가능합니까?

이러한 bash 트릭이 가능합니까?

답변1

extglob쉘 옵션을 켜고cd /home/!(user*)/asdf

답변2

다음 명령을 사용하면 사용자 이름을 지정하지 않고 asdf1234 디렉터리로 변경할 수 있습니다.

cd $(find . -name asdf1234 -type d | sed 1q)

sed 1q디렉터리 이름만 인수로 에 전달되는지 확인하세요 cd.

관련 정보