Shell脚本实现统计指定目录下的文件和目录数量

编写一个shell脚本,根据其属性计算给定目录中文件和目录的数量。

要求:
▪调用脚本countdf.sh
▪运行脚本时,在命令行中使用目录的路径,例如
./countdf.sh〜 /test01。这仅是示例路径,因此请勿将其硬编码到脚本中。
▪脚本到终端的输出将显示如下:
[dirname]目录包含:
x个包含数据的文件
x个空文件
x个非空目录
x空目录

实现代码

#!/bin/bash

fun_directory(){
let "filenum=0"
let "emptyfilenum=0"
let "dirnum=0"
let "emptydirnum=0"
# 进入目标目录
cd $1
for i in $( ls )
do
    if [ -d $i ] # 判断是否为目录
    then
        if [ "`ls -A $i`" = "" ] # 判断是否为空目录
        then
            let emptydirnum+=1
        else
            let dirnum+=1
        fi
    else
        if [ -s $i ] # 判断文件是否不为空
        then
            let filenum+=1
        else
            let emptyfilenum+=1
        fi
    fi
done
echo "[$1]目录中包含:"
echo "$dirnum 个非空目录"
echo "$emptydirnum 个空目录"
echo "$filenum 个含数据的文件"
echo "$emptyfilenum 个空文件"
}

fun_directory $1

测试结果

在这里插入图片描述
参考地址:
shell判断文件是否为空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值