【Linux】统计某文件/文件夹个数

Posted by 西维蜀黍 on 2019-07-10, Last Modified on 2021-09-21

统计某文件夹下文件的个数

$ ls -l |grep "^-"|wc -l

统计某文件夹下目录的个数

$ ls -l |grep "^d"|wc -l

统计文件夹下文件的个数,包括子文件夹里的

$ ls -lR|grep "^-"|wc -l

如统计/home/han目录(包含子目录)下的所有js文件

$ ls -lR /home/han|grep js|wc -l

或者

$ ls -l "/home/han"|grep "js"|wc -l

统计文件夹下目录的个数,包括子文件夹里的

$ ls -lR|grep "^d"|wc -l

说明

  • ls -lR:长列表输出该目录下文件信息(R代表子目录;注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等);
  • grep "^-":这里将长列表输出信息过滤一部分,只保留一般文件;如果只保留目录就是 ^d
  • wc -l:统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数;
  • 如果只查看文件夹:
    • ls -d :只能显示一个
    • find -type d:可以看到子文件夹
    • ls -lF |grep /ls -l |grep '^d':只看当前目录下的文件夹,不包括往下的文件夹

Reference