패턴으로 파일을 찾지만 유사한 패턴을 가진 다른 파일은 무시합니다.

패턴으로 파일을 찾지만 유사한 패턴을 가진 다른 파일은 무시합니다.

하위 디렉터리가 포함된 디렉터리가 있고 그 중 일부의 이름을 가져와야 하지만 무시하고 싶은 유사한 패턴을 가진 하위 디렉터리가 있습니다.

예를 들어, 하위 디렉터리 목록이 다음과 같은 경우:

Name_One
Not_needed1
Name_Two
Name_Three
Not_needed2
Name_Zero

하위 디렉터리 Name_One, Name_Two 및 Name_Three의 이름을 변수에 저장하고 싶지만 Name_0은 무시하고 싶습니다.

또한 프로젝트마다 이름이 바뀌지만 항상 Name_Number의 패턴을 따르며 Name_Zero는 항상 제외해야 하는 이름입니다.

저는 Mac 운영 체제를 사용하고 있습니다.

답변1

노력하다:

find . -type d -name 'Name_*' ! -name 'Name_Zero'

디렉토리 이름의 경우 Name_[digit]및 디렉토리 제외 Name_0.

find . -type d ! -name 'Name_0' -regex './Name_[0-9]*'

하위 디렉터리도 있는 경우 다음 명령을 사용합니다.

find . -type d ! -name 'Name_0' -regex '.*/Name_[0-9]*'

위의 정규식은 패턴과 일치하는 디렉토리 이름과 일치합니다 Name_[zero-or-more-digits]. 일치를 방지하려면 Name_대신 사용하십시오 '.*/Name_[0-9][0-9]*'.

관련 정보