知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

linux获取指定目录最大深度(层数)

发布时间:2014-09-05 15:40:31作者:知识屋


linux获取指定目录最大深度(层数)
 
脚本名:du_folder2.sh
脚本内容:  www.zhishiwu.com  
#!/bin/sh
if [ -z "$1"  ];then
    echo "no argument";
exit 255
fi
 
depth_foler()
{
this_dir=`pwd`
source_folder="$1"
source_folder=`echo $source_folder |sed 's#/$##g'`
test_folder="$2"
cd $test_folder
count=0
while [ ! `pwd` = $source_folder ]
do
count=`expr $count + 1`
 
cd ..
done
cd $this_dir
return $count
}
 
#echo $?
target_folder="$1"
depth_max=1
for i in `find "$target_folder" -type d` ;do
if [ -d $i -a ! $i = $target_folder ];then
depth_foler "$target_folder" "$i"
retval=$?
if [ $depth_max -lt $retval ];then
                        depth_max=$retval
                fi
# echo "$i --depth: $retval"
fi
done
echo "max depth:$depth_max"
 
测试:
执行du_folder2.sh  ./
结果是指定目录 ./ 的深度
实例:
[root@localhost du_study2]# ./du_folder2.sh  /home/whuang/du_study2 
max depth:2
[root@localhost du_study2]# du
4 ./ccc
4 ./test/abc
8 ./test
36 .
[root@localhost du_study2]# 
 
说明:使用du 命令可以验证上面脚本的正确性。
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜