linux下统计当前文件夹下的文件个数、目录个数的方法:
查看当前目录下的文件数量(不包含子目录中的文件)
ls -l|grep ^-| wc -l查看当前目录下的文件数量(包含子目录中的文件) 注意:r,代表子目录
ls -lr | grep ^-| wc -l查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上r
ls -l | grep ^d| wc -l查询当前路径下的指定前缀名的目录下的所有文件数量
例如:统计所有以“20161124”开头的目录下的全部文件数量
ls -lr 20161124*/ |grep ^-| wc -l对每个命令参数做一下说明备注:
ls -l
该命令表示以长列表输出指定目录下的信息(未指定则表示当前目录),r代表子目录中的“文件”,这个“文件”指的是目录、链接、设备文件等的总称
grep “^d” 表示目录,”^-“表示文件
wc -l
表示统计输出信息的行数,因为经过前面的过滤已经只剩下普通文件,一个目录或文件对应一行,所以统计的信息的行数也就是目录或文件的个数
linux中查看指定文件夹内各个子文件夹内的文件数量,则加入count脚本来组合使用
count脚本
#!/bin/sh
numofargs=$#
if [ $numofargs -ne 1 ]; then
echo -e usage: \nbash $0 dirforcount
exit -1
fi
# args
rootdir=$1
# core part
find $rootdir -maxdepth 1 -type d | sort | while read dir; do
count=$(find $dir -type f | wc -l)
echo $dir: $count
done执行
$ bash count.sh benchmark
benchmark: 2317
benchmark/0: 20
benchmark/1: 891
benchmark/2: 65
benchmark/3: 13
benchmark/4: 1328
备案整改不详-备案平台伪静态有问题-虚拟主机/数据库问题建站网站有哪些知识需要熟知网站建设时间怎么查询和建站流程网站无法方位-云服务器问题云服务器挂淘宝有什么用公司电子邮箱如何审核云服务器腾讯和阿里哪个好