디렉토리를 재귀적으로 검색하여 숨겨진 파일이 아니고 숨겨진 디렉토리에 없는 모든 파일을 찾고 싶습니다. 파일을 숨기기 위해 기본 이름 제외를 사용해 보았지만 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를 반환하기 때문에 -prune
with와 함께 사용되므로 short-circuit OR과 결합하면 원하는 숨겨진 파일/디렉토리를 건너뛰는 효과가 -o
있습니다 .-print