如果/测试某些大量文件的存在

如果/测试某些大量文件的存在

在 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

相关内容