다양한 숫자로 시작하는 모든 폴더 찾기

다양한 숫자로 시작하는 모든 폴더 찾기

500~899 범위의 값으로 시작하는 모든 폴더를 찾는 방법은 무엇입니까? 파일에 나열하면됩니다.

추가 정보:

  • 최대 깊이 2
  • 폴더 이름 예시: 593091_azerty_qwerty또는849934_blablablabla_bla_blabla

답변1

다음을 시도해 보세요( find해당 -maxdepth옵션을 지원하는 경우).

find parent_dir -maxdepth 2 -type d \(
  -name '[5-8][0-9][0-9][!0-9]*' -o -name '[5-8][0-9][0-9]' \) > my_file1.txt

답변2

의 경우 zsh숫자가 항상 십진 정수라고 가정합니다(프로세서에서 기본적으로 지원하는 범위 내에서).

setopt extended_glob
dirs=(<500-899>([^0-9]*|)(/N) */<500-899>([^0-9]*|)(/DN))

그러나 두 번째 모드에서는 디렉토리에 대한 심볼릭 링크가 현재 디렉토리에 존재하는 경우 해당 디렉토리가 대상에서 검색됩니다 zsh.<500-899>...

중괄호 확장으로 인수분해가 단축됩니다.

dirs=({,*/}<500-899>([^0-9]*|)(/DN))

숫자 뒤에 항상 가 오면 _다음과 같이 단순화할 수 있습니다.

dirs=({,*/}<500-899>_*(ND))

5.2 이전 버전의 경우 프로세서가 정수를 나타내는 방식으로 인해 500에서 899 모듈로 2 64 사이의 숫자와 zsh일치하므로 예를 들어 2 69 + 512와 일치합니다.590295810358705652224_something

관련 정보