답변:
\( ! -name '.*' \)
?
\( ! -path '*/.*' \)
.
findnh
웹에서 찾을 수 있었던이 질문에 대한 답변보다 특정 사례를 더 잘 처리한다고 생각되는 스크립트를 작성했습니다 .
#!/bin/bash
declare -a paths
while [ $# -ne 0 ]; do
case "$1" in -*) break ;; esac
paths+=("$1")
shift
done
find "${paths[@]}" \( -name . -o -name .. -o \! \( -name '.*' -prune \) \) "$@"
예를 들어, 내부와 같은 명령을 명시 적으로 지정 숨겨진 디렉토리의 비 숨김 파일 및 디렉토리를 찾을 수 있습니다 findnh ~/.hiddendir/
보여줍니다, ~/.hiddendir/file
하지만를 ~/.hiddendir/.superhiddenfile
.
findnh ~/.hiddendir/
하면 아무것도 얻지 못한다. 그 외에는 방법에서이 다른 ! -path '*/.*'
과는 find … | grep -v '/\.'
?
ls
특별히 요청하지 않는 한 목록이 표시되지 않는다는 것입니다 . 파일은 모든면에서 완전히 일반 파일이며ls
기본적으로 무시할 수 있습니다.