특정 대량 파일의 존재 여부/테스트 [중복]

특정 대량 파일의 존재 여부/테스트 [중복]

_Bash에는 밑줄로 시작하는 일부 파일 이름 과 밑줄로 시작하지 않는 다른 파일 이름이 포함된 디렉터리가 있습니다 .

내 스크립트에서 폴더에 .로 끝나지 않는 항목이 있는지 확인하고 싶습니다 _.

if [[ -f $dir/[!_]* ]]
  then echo "There are unmarked files."
  else echo "All files marked."
fi 

그러나 로 시작하거나 시작하지 않는 파일이 포함된 폴더에서 실행하면 _명령문이 if의도한 것과 반대되는 효과를 냅니다. 없이 파일을 명확하게 표시하는 폴더의 항목을 나열 _하지만 출력은 계속 표시됩니다.All files marked.

내가 무엇을 놓치고 있나요?

답변1

if find -not -name '_*' -exec false {} +
then
  echo 'all files marked'
else
  echo 'unmarked file found'
fi

관련 정보