SHELL脚本之统计目录下文件及子目录数量

一、需求说明

  需要统计某目录下的文件数量,事实上统计目录下文件数量只需要一条命令即可完成,写成shell脚本只是方便使用和展示。另外我们以后还可以在此脚本上进行扩展,统计指定类型的文件数量,指定文件前缀的文件数量等等。

二、脚本内容

#!/bin/bash
#script name:
#author: 524627027@qq.com
#version: v1
#decription: 此脚本用于统计指定目录下文件及其子目录数量

#参数定义
workdir=$(cd $(dirname $0); pwd)
inputdir=""
filesum=0
dirsum=0

#输入目录参数
read -p "请输入需要统计文件和子目录数量的目录(绝对路径):" inputdir
#判断输入的目录
if  [ ! -n "$inputdir" ] ;then
  #输入为空时检查统计当前目录下文件数量
  echo "未输入目录,统计当前目录下的文件数量"
  filesum=`ls -lR $workdir | grep "^-"| wc -l`
  dirsum=`ls -lR $workdir | grep "^d"| wc -l`
  #输出展示结果
  echo -e "当前目录下文件数量为:\e[1;32m $filesum \e[0m ,子目录数量为:\e[1;32m $dirsum \e[0m "
else
  if [ -d "$inputdir" ]; then
    filesum=`ls -lR $inputdir | grep "^-"| wc -l`
    dirsum=`ls -lR $inputdir | grep "^d"| wc -l`
    #输出展示结果
    echo -e "$inputdir 此目录下文件数量为:\e[1;32m $filesum \e[0m ,子目录数量为:\e[1;32m $dirsum \e[0m "
  else
    echo -e "\e[1;31m 输入的目录不存在,请输入已存在的正确目录! \e[0m"
  fi
fi

三、使用示例

1、统计当前目录下文件数量

[root@centos7 wuhs]# sh file_counts.sh请输入需要统计文件和子目录数量的目录(绝对路径):未输入目录,统计/home/wuhs 当前目录下的文件数量当前目录下文件数量为: 16796  ,子目录数量为: 2309

2、统计指定目录下文件数量

[root@centos7 wuhs]# sh file_counts.sh请输入需要统计文件和子目录数量的目录(绝对路径):/home/wuhs/test输入的目录不存在,请输入已存在的正确目录!

3、目录输入错误时的提示

[root@centos7 wuhs]# sh file_counts.sh请输入需要统计文件和子目录数量的目录(绝对路径):/home/wuhs/test输入的目录不存在,请输入已存在的正确目录!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒悦sunsite

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值