찾기를 사용하여 하위 디렉터리 제외
내 디렉토리 구조는 다음과 같다.
data
|___
|
abc
|____incoming
def
|____incoming
|____processed
123
|___incoming
456
|___incoming
|___processed
데이터 디렉터리 내의 모든 폴더에 수신 하위 폴더가 있습니다.def/incoming 및 456/incoming dir를 제외한 모든 폴더와 하위 폴더에서 모든 파일을 가져오고 싶습니다.나는 다음과 같은 명령으로 시험해 보았다.
find /home/feeds/data -type d \( -name 'def/incoming' -o -name '456/incoming' -o -name arkona \) -prune -o -name '*.*' -print
예상대로 되지 않습니다.
라비
이 방법은 다음과 같습니다.
find /home/feeds/data -type f -not -path "*def/incoming*" -not -path "*456/incoming*"
설명:
find /home/feeds/data
: 지정된 경로에서 재귀적으로 검색을 시작합니다.-type f
: 파일만 검색-not -path "*def/incoming*"
: 에는 아무것도 포함하지 않음def/incoming
그 경로의 일부로서-not -path "*456/incoming*"
: 에는 아무것도 포함하지 않음456/incoming
그 경로의 일부로서
문서화를 위해서만:(필요했던 것처럼) search'n'skip 별자리가 많기 때문에 더 깊이 파고들어야 할 수도 있습니다.이 될 수도 있다prune
당신의 친구입니다.-not -path
기대했던 대로 되지 않을 거야
이것은 디렉토리를 제외한 15개의 검색 예제의 중요한 예입니다.
http://www.theunixschool.com/2012/07/find-command-15-examples-to-exclude.html
첫 번째 질문으로 연결하기 위해 다음과 같이 작업을 완료했습니다.
find . -regex-type posix-extended -regex ".*def/incoming.*|.*456/incoming.*" -prune -o -print
그런 다음 하나의 파일을 찾으면서 패치를 제외하려면| grep myFile.txt
.
검색 버전에 따라 다를 수도 있습니다.알겠습니다.
$ find -version
GNU find version 4.2.27
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION SELINUX
-name
패스 전체가 아니라 파일 이름에만 일치합니다.사용하고 싶다-path
대신에, 디렉토리를 잘라내는 부분에서는,def/incoming
.
find $(INP_PATH} -type f -ls |grep -v "${INP_PATH}/.*/"
[ How to exclude a directory in find . ]명령어에 대한 다음 답변을 입력합니다.
find . \( -name ".git" -o -name "node_modules" \) -prune -o -print
이게 바로 내가 한 일이니까 모든 것을 배제하기 위해 한 일이다..git
디렉토리로 전달하다-exec
에 무언가를 그리핑하기 위해
find . -not -path '*/\.*' -type f -exec grep "pattern" [] \;
-not -path '*/\.*'
숨겨진 디렉토리가 모두 제외됩니다.-type f
유형 파일만 나열되며, 그런 다음 이 파일을 에 전달할 수 있습니다.-exec
하고 싶은 거 다 해
언급URL : https://stackoverflow.com/questions/13460482/exclude-a-sub-directory-using-find
'programing' 카테고리의 다른 글
WPF 사이즈를 물리 픽셀로 변환하려면 어떻게 해야 합니까? (0) | 2023.04.12 |
---|---|
WPF 편집 가능한 콤보 박스 (0) | 2023.04.12 |
Microsoft를 사용하여 .xlsx로 내보내기Office.Interop.Excel SaveAs 오류 (0) | 2023.04.12 |
Get-ChildItem 재귀 깊이 제한 (0) | 2023.04.12 |
bash에서 $@에서 첫 번째 요소 제거 (0) | 2023.04.12 |