编写一个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判断文件是否为空
1944

被折叠的 条评论
为什么被折叠?



