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