it-swarm-ko.tech

특정 하위 디렉토리에 대한 찾기 명령

세 개의 하위 디렉토리 dir1 .. dir3가있는 dir 디렉토리가 있다고 가정 해 보겠습니다. 그리고 내부에는 많은 파일과 기타 하위 디렉토리가 있습니다.

*.c로 끝나는 파일을 검색하고 싶지만 하위 디렉터리 "dir/dir2"와 모든 하위 디렉터리에서만 검색하고 싶습니다. 어떻게 공식화 할 수 있습니까?

내가 dir/에 있다고 가정하면 다음이 있습니다.

find . -name "*.c"

모든 디렉토리에서 검색합니다.

dir2로만 제한하려면 어떻게합니까?

18
scrrr

찾기는 유효한 경로를 허용하므로

find ./dir2 -name '*.c'

트릭을해야한다

dir 디렉토리가 /home/user/dir이면 전체 경로를 찾을 수 있습니다.

find /home/user/dir/dir2 -name '*.c'
12
user591

-path 대신 find-name 매개 변수를 사용할 수도 있습니다.

find . -path "dir2/*.c"

이렇게하면 dir2가 직접 하위 디렉토리가 아니더라도 dir2에서 파일을 찾을 수 있습니다. 예 :

# find . -path "*/dir2/*.c"
./dir_a/dir2/file.c
./dir_b/dir2/file.c
20
Josh

넌 할 수있어 find dir2 -name '*.c'

(cd dir2; find -name '*.c')

Dir1과 dir3을보고 싶지만 dir2는보고 싶지 않다면 find {dir1,dir3} -name '*.c'

5
Shawn J. Goff

dir에 있다고 가정합니다.

find dir2 -name '*.c'

물론 Iain 'sanswer 도 맞습니다

4
xenoterracide