RHEL v6.x
현재 디렉터리 내의 특정 디렉터리 구조를 검색 하는 Linux 명령을 찾고 있습니다 .
아래 명령은 현재 디렉터리 내의 특정 단일 디렉터리를 검색한다는 것을 이해하지만 이는 단일 디렉터리에서는 작동하지만 디렉터리 구조에서는 작동하지 않습니다.
피복재:
find /home/dir1/* -name "def"
작동 안함:
find /home/dir1/* -name "abc/def"
또한 아래 명령을 시도했지만 해당 디렉토리의 파일도 나열되지만 해당 디렉토리의 파일을 나열하고 싶지 않습니다. 나는 단지 abc/def
이 디렉토리 구조를 가진 모든 디렉토리의 전체 경로를 나열하고 싶습니다 .
locate abc/def/
누구든지 나를 도와줄 수 있나요?
미리 감사드립니다.
답변1
테스트는 -name
마지막 경로 구성 요소와만 일치합니다. 귀하와 같은 것과 일치하려면 abc/def
다음이 필요합니다 -path
.
$ mkdir -p somedir/otherdir/abc/def/ghi
$ find somedir -path '*/abc/def'
somedir/otherdir/abc/def
답변2
이건 어때.
find /home/dir1/ -type d | grep 'abc/def'
또는 특정 깊이까지만 디렉터리를 나열하려고 합니다.
find /home/dir1/ -maxdepth 2 -type d | grep 'abc/def'
-d - directory
-maxdepth levels of directories below the starting-points.
답변3
tree <base dir>
-L level
Max display depth of the directory tree.
-P pattern
List only those files that match the wild-card pattern.