首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux 获取指定索引最大深度(层数)

2012-11-12 
linux 获取指定目录最大深度(层数)脚本名:du_folder2.sh脚本内容:#!/bin/shif [ -z $1 ?]then? ? echo

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

脚本名:du_folder2.sh

脚本内容:

#!/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]# du4./ccc4./test/abc8./test36.[root@localhost du_study2]#?
说明:使用du 命令可以验证上面脚本的正确性。

热点排行
Bad Request.