轮询目录(含目录中有子目录)并判断文件为0的找出来

#!/bin/bash
##################
. /etc/profile
. ~/.bash_profile
##################


i=0
k=0


echo "`date +%Y%m%d%H%M`" > /tmp/size0.log
# 定义一个方法
foreachd(){
# 遍历参数1
for file in $1/*
do
# 如果是文件就打印处理,然后继续遍历,递归调用
        if [ -d $file ]
        then
#                echo $file
                foreachd $file
        else
                filesize=`ls -l  $file | awk '{print $5}' `


                if [ "$filesize" = "0" ];then
                        echo "$file  size is 0" >> /tmp/size0.log
                        a[$k]="$file"
                        k=`expr $k + 1`
                fi
                i=`expr $i + 1`
                echo "$file size is $filesize"
        fi
done

}


weberror(){


        if [ "${#a[*]}" -eq "0" ];then


        echo "所有文件size均大于0"
        exit 0
else
        echo "总共检测 ${#a[*]}个size大小为0文件"      


        for ((j=0; j<=`expr "${#a[*]}" - 1`;j++)) ;do
#       echo "${a[0]}"  
        echo "`date +%Y%m%d%H%M%S` ${a[$j]}"                                    
 #       echo "`date +%Y%m%d%H%M$S` ${a[$j]}"  | mail -s "`date +%Y%m%d%H%M$S` ${a[$j]}" $notice_mail                                 


        done
#        time2=`date +%Y%m%d%H%M%S`
#        echo "$time1 $time2"


        exit 2
fi


}


#echo  "总共有$i 个页面,其中size 为0的页面有`expr `more /tmp/size0 | wc -l` - 1`个"


# 执行,如果有参数就遍历指定的目录,否则遍历当前目录
#if ($0 > 0)
if [[ ! -z $1 ]];then
    foreachd "$1"
        weberror
#       echo $#
#       echo 1


echo  "总共有$i 个页面,其中size 为0的页面有`more /tmp/size0.log | wc -l` - 2 个"


else
    foreachd `/bin/pwd`
        weberror
#       pwd=`pwd`
#       echo 2
#       echo $#
#    foreachd "./"


echo  "总共有$i 个页面,其中size 为0的页面有 `more /tmp/size0.log | wc -l` - 2个"


fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

金桔数科

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

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

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

打赏作者

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

抵扣说明:

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

余额充值