Windows에서는 특정 경로에 있는 파일을 검색할 수도 있고, 특정 경로에 있는 파일을 검색하지 않도록 설정할 수도 있습니다. Linux에서 find 명령과 -path -prune 매개변수를 결합하여 이 기능을 Linux에서 구현하는 방법을 살펴보겠습니다. .
현재 디렉터리에서 파일을 검색하고 있고 현재 디렉터리에 dir0, dir1, dir2... 및 dir00, dir01...dir10을 포함하여 많은 파일과 디렉터리(다단계 디렉터리)가 있는 경우, dir11... 등 하위 디렉터리.
1. 현재 디렉터리에서 모든 txt 접미사 파일을 찾습니다.
find ./ -name *.txt
2. dir0 디렉터리와 하위 디렉터리에서 txt 접미사 파일을 찾습니다.
find ./ -path ' . /dir0*' -name *.txt
3. 현재 디렉터리의 dir0 디렉터리 아래에 있는 dir00 하위 디렉터리와 해당 하위 디렉터리에서 txt 접미사 파일을 찾습니다./ -path '*dir00*' -name * .txt
4. dir0 및 하위 디렉터리가 아닌 디렉터리에서 txt 접미사 파일을 찾습니다.
find ./ -path './dir0*' -a -prune -o -name *.txt -print
지침: -a는 약어여야 합니다. and의 논리 연산자 'or'(&&)를 의미합니다. -o는 논리 연산자 'and'(||)를 의미하는 or의 약어여야 하며, -not은 not을 의미합니다.
명령줄 의미: if dir0 디렉터리가 존재하는 경우(즉, -a의 왼쪽이 true), -prune 값을 찾으면 -prune이 true를 반환하고 'AND' 논리 표현식이 true(즉, -path './dir0 *' -a - prune이 true임), find 명령은 이 디렉토리 이외의 디렉토리에서 txt 접미사 파일을 검색하고 dir0 디렉토리가 존재하지 않는 경우(즉, -a의 왼쪽이 false임) 이를 인쇄합니다. , -prune은 평가되지 않습니다. 'AND' 논리식 수식이 false인 경우 모든 txt 접미사 파일이 현재 디렉터리에서 검색됩니다.
5. dir0, dir1 및 하위 디렉터리가 아닌 디렉터리에서 txt 접미사 파일을 찾습니다.
find ./ /( -path './dir0*' -o -path './dir1*' /) -a - prune -o -name *.txt -print
참고: 괄호()는 표현식의 조합을 나타냅니다. 즉, 쉘에 다음 문자를 특수하게 해석하지 말고 find 명령에 맡겨 의미를 해석하도록 지시합니다. 괄호는 명령줄에서 직접 사용할 수 없으므로 백슬래시 '/'를 사용하여 이스케이프해야 합니다. 즉, '/' 이스케이프 문자를 사용하면 명령줄에서 괄호를 인식할 수 있습니다. 또한 '/(', '/)'에는 양쪽에 공백이 필요합니다.
6. dir0, dir1 및 하위 디렉터리에서 txt 접미사 파일을 찾습니다.
./ /( -path './dir0*' -o -path './dir1*' /) -a -name *.txt -print를 찾습니다.
+1. dir_general
find ./ -path '*/dir_general/*' -name *.txt -print
라는 모든 디렉터리에서 txt 접미사 파일을 찾습니다.위 내용은 Linux에서 find 명령 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!