find 명령은 잘리지 않은 항목을 인쇄하지 않습니다.

find 명령은 잘리지 않은 항목을 인쇄하지 않습니다.

이 명령은 작업 디렉터리에서 마침표로 시작하는 기본 이름(숨겨진 항목이라고도 함)이 있는 파일/디렉터리를 비재귀적으로 인쇄합니다.

find . -maxdepth 1 -name '.*'

숨겨진 항목을 제외한 모든 항목을 인쇄하려면 다음 명령이 작동할 것으로 예상하지만 아무 것도 인쇄되지 않습니다.

find . -maxdepth 1 -name '.*' -prune -o -print

다음과 같은 숨겨진 항목이 없는 홈 디렉터리에서 이 명령을 실행했습니다.문서,다운로드인쇄하고 싶은 디렉토리, 기타 파일 등입니다.

누군가 이유를 설명할 수 있나요?

답변1

술어 -prune가지치기목차- 이 경우 -name시작 디렉터리가 일치하므로 .전체 트리가 제거됩니다.

당신이 원하는 것은 일치를 무효화하는 것뿐입니다 -name.

find . -maxdepth 1 ! -name '.*'

또는

find . -maxdepth 1 -not -name '.*'

관련 정보