2009-11-04 6 views
2

특정 길이의 이름을 가진 디렉토리를 어떻게 찾을 수 있습니까? 예를 들어, 33 문자 ('a92e8cc611fdebcca3cf2fc8dc02c918', 'c442fb3f46d6c8bd17d27245290a9512'등등)와 동일한 이름의 길이를 가진 여러 개의 디렉토리가 있습니다. find 유틸리티가 'wc -c'형식의 조건을 허용합니까? 아니면 다른 유틸리티를 함께 연결해야합니까?특정 길이의 이름을 가진 디렉토리를 찾는 방법

답변

8

몇 가지 방법이

$ find . -type d -name "?????????????????????????????????" 

$ find /path -type d -printf "%f\n" | awk 'length==33' 
+0

+1하지만 필자는 파일보다는 디렉터리를 찾는 "유형 d"라고 생각합니다. –

+0

찾기. -regextype posix-extended-type d -regex ". {5}" – mhaller

+0

aeh 죄송합니다. 5 대신 35를 사용하십시오. "./"앞의 수를 계산해야합니다. – mhaller

0

자바 태그가 없지만 File 필터를 작성하여 염두에 두어야 할 기준을 캡슐화하고이를 java.io.File.list() 메소드에 전달하십시오. 전체 디렉토리 구조 트리를 탐색하려는 경우 재귀해야하지만 완전히 수행 할 수 있습니다.

죄송 합니다만, * nix 스크립팅이 아닙니다.

아파치 코 몬즈 IO JAR에는 쉬운 파일 작업과 디렉토리 유틸리티가있다. GNU와

+0

나는 이것을 위해 Java를 사용하고 싶지 않습니다. :) – ghostdog74

+0

아마도 ... 나는 "자바"태그가 없다는 것을 알아 차리기 전에 90 %를 썼다. 그래서 어쨌든 그것을 게시했다. – duffymo

0

물론 찾기 :

find dir -name '?????????????????????????????????' 

을 (즉, 33 시간 ?이다).

관련 문제