유닉스 / 리눅스 찾기로 검색 할 때 숨겨진 파일을 제외 하시겠습니까? 제외 하려면 어떤 옵션을

find숨겨진 파일을 제외 하려면 어떤 옵션을 사용해야 합니까?



답변

나는 이것을 여기서 발견 했다 :

find . \( ! -regex '.*/\..*' \) -type f -name "whatever"


답변

부정 glob 패턴이 잘 알려져 있지 않은 것 같습니다. 따라서 다음을 사용할 수 있습니다.

find . -name "[!.]*"


답변

이것은 귀하의 질문에 대답하지 않지만 숨겨지지 않은 파일을 찾는 작업을 위해 모든 파일을 찾은 다음 grep으로 필터링하고 싶습니다.

find . -type f | grep -v '/\.'

당신의 접근 방식과 비슷하지만 조금 더 간단합니다.


답변

다음 find사용법을 시도하십시오 .

find . -type f -not -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.


답변

당신이 인으로 삼고 경우 findgrep, ripgrep기본, 예에 의해 숨겨진 파일을 제외하지

rg --files

--files 실제로 검색을 수행하지 않고 검색 할 각 파일을 인쇄하십시오.


답변

fd

fd에 대한 간단하고 훨씬 빠르고 사용자 친화적 인 대안 인를 사용하십시오 find. 기본적으로

  • 숨겨진 디렉토리 및 파일은 기본적으로 무시합니다.
  • .gitignore기본적으로의 패턴을 무시합니다 .

벤치 마크 분석을 확인하십시오 .