linux 如何统计当前目录下所有非隐藏文件的数目

这里的隐藏文件,意思是:.开头的隐藏文件 & .开头的隐藏目录下的所有内容
有子目录(循环)

补充:
我的实际项目只有两层目录,但如果可以计算多层目录,加分。
这里只要总数目。当然,能把子目录的数目也显示更好,加分。
(先考虑结果正确,后可以考虑结果对人类阅读是否友好)

阅读 6k
4 个回答

find . -type f | grep -v -P "/\." | wc -l

这个命令会递归查找当前目录下路径名不包括以.开头的文件或此类目录中的文件。不包括目录数。

find -type f -name "\.*" | wc -l
php -r 'array_map(function($k){ if(trim($k,".")&&is_dir($k)) echo $k."\n\t\t\t\t". ( count(glob("$k/*")) )."\n"; else echo "$k\n"; }, glob(".*"));'

题主的问题中有个坑
.开头的隐藏目录下的所有内容,有子目录,但子目录没说是不是影响文件

按实际情况来分析,统计子目录还得做递归,写了一下,发现代码好像没法看懂,肯定不能入题主法眼,于是就放弃了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题