재귀 검색은 숨겨진 파일을 찾지 않거나 숨겨진 디렉터리로 재귀적으로 검색하지 않습니다.

재귀 검색은 숨겨진 파일을 찾지 않거나 숨겨진 디렉터리로 재귀적으로 검색하지 않습니다.

디렉토리를 재귀적으로 검색하여 숨겨진 파일이 아니고 숨겨진 디렉토리에 없는 모든 파일을 찾고 싶습니다. 파일을 숨기기 위해 기본 이름 제외를 사용해 보았지만 find . -type f -not -name '.*'여전히 숨겨진 디렉터리로 반복됩니다.

dir/
   file.py
   .hidden_file
   .hidden_dir/
      file.c

나는 출력을 다음과 같이 원한다:

./dir/file.py

그러나 나는 다음을 얻습니다.

./dir/file.py
./dir/.hidden_dir/file.c

편집: 파일을 나열하고 싶습니다.-type f

답변1

재귀적으로 사용하고 싶지 않은 디렉토리를 "가지치기"해야 합니다.

find dir -name '.*' -prune -o -print

일반적으로 true를 반환하기 때문에 -prunewith와 함께 사용되므로 short-circuit OR과 결합하면 원하는 숨겨진 파일/디렉토리를 건너뛰는 효과가 -o있습니다 .-print

관련 정보