编写一个shell脚本,根据其属性计算给定目录中文件和目录的数量。
要求:
▪调用脚本countdf.sh
▪运行脚本时,在命令行中使用目录的路径,例如
./countdf.sh〜 /test01。这仅是示例路径,因此请勿将其硬编码到脚本中。
▪脚本到终端的输出将显示如下:
[dirname]目录包含:
x个包含数据的文件
x个空文件
x个非空目录
x空目录
实现代码
#!/bin/bashfun_directory(){let "filenum=0"let "emptyfilenum=0"let "dirnum=0"let "emptydirnum=0"# 进入目标目录cd $1for i in $( ls )doif [ -d $i ] # 判断是否为目录thenif [ "`ls -A $i`" = "" ] # 判断是否为空目录thenlet emptydirnum+=1elselet dirnum+=1fielseif [ -s $i ] # 判断文件是否不为空thenlet filenum+=1elselet emptyfilenum+=1fifidoneecho "[$1]目录中包含:"echo "$dirnum 个非空目录"echo "$emptydirnum 个空目录"echo "$filenum 个含数据的文件"echo "$emptyfilenum 个空文件"}fun_directory $1
测试结果
参考地址:
shell判断文件是否为空