如果解析的输出ls
很危险,因为它的输出可能会破坏某些时髦的字符(空格\n
,...),那么知道目录中文件数量的最佳方法是什么?
我通常依靠find
避免这种解析,但是find mydir | wc -l
出于相同的原因,它也会中断。
我现在正在使用Solaris,但是我正在寻找一个尽可能在不同的unice和不同的shell中移植的答案。
find
会递归为您提供文件数量(-maxdepth 1
如果您不希望使用find mydir -maxdepth 1 -type f -printf \\n | wc -l
该文件,则应使用。应处理文件名中的特殊字符,因为它们不会从一开始就打印出来。)