Linux中shell脚本怎样实现遍历某个目录,并实现对该目录下文件与目录的分类统计

本人编写的代码,但是结果不对

5个回答

图片说明

[root@localhost csv]# ./dir.sh
path counts:14
file counts:8
[root@localhost csv]#
[root@localhost csv]# cat dir.sh
#!/bin/bash

dir=./Z
i=0
j=0

for file in find $dir
do
if [ -f $file ]
then
((i=$i+1))
else
((j=$j+1))
fi
done

echo "path counts:$j"
echo "file counts:$i"
exit 0

[root@localhost csv]#
[root@localhost csv]#

#!/bin/bash

#脚本名称 dir
#定义一个函数fun_directory

fun_directory() {

let "filenum=0"
let "dirnum=0"

for i in $( ls )
do
if [ -d $i ]
then
let dirnum+=1
else
let filenum+=1
fi
done

echo "The number of directorys is $dirnum"
echo "The number of files is $filenum"

}

#调用函数

fun_directory

➜ ~ find Downloads -type f | wc -l
19
➜ ~ find Downloads -type d | wc -l
2

看到楼主已经采纳了别人的,我就知道 楼主想着单层级目录统计文件夹与文件数。采纳的就那样。但如果楼主想要带导级递归地统计,显然采纳的东西就过于简单了。哈

avenccssddnn
ipple1986 回复ChaoLingW: 你有没有想过,文件夹下还有文件跟文件夹,你是否也要统计?
接近 3 年之前 回复
ChaoLingW
ChaoLingW 那个初学
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐