zoukankan      html  css  js  c++  java
  • Linux 获取 指定目录 下的 最大子目录深度

    命令

    function getDirMaxDepth() {
        folder_name="$1"
    
        if [ ! -d "$folder_name" ];then
            echo "The dir("${folder_name}") does not exist!"
            exit 3
        fi
    
        this_dir_tmp=`pwd`
    
        folder_name=`echo "$folder_name"|sed "s#^./#$this_dir_tmp/#g"`
        folder_name=`echo "$folder_name"|sed "s#^([a-zA-Z]+.*)#$this_dir_tmp/1#g"`
    
        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
        }
    
        target_folder="$folder_name"
        depth_max=1
    
        for i in `du "$target_folder"` ;do
            if [ -d $i -a ! $i = $target_folder ];then
                depth_foler "$target_folder" "$i"
                retval=$?
                echo "$i : $retval" # 打印每个子目录的深度
                if [ $depth_max -lt $retval ];then
                        depth_max=$retval
                fi
            fi
    
        done
    
        echo "max depth: $depth_max"
    }
    
    

    测试

    getDirMaxDepth xx
    
    如果说我的文章对你有用,只不过是我站在巨人的肩膀上再继续努力罢了。
    若在页首无特别声明,本篇文章由 Schips 经过整理后发布。
    博客地址:https://www.cnblogs.com/schips/
  • 相关阅读:
    多表查询
    Java基础
    group by 和 having 用法
    多态
    修改用户权限
    集成测试过程
    系统测试
    软件验收测试通过准则
    性能测试、负载测试、压力测试的区别
    白盒测试
  • 原文地址:https://www.cnblogs.com/schips/p/linux_bash_get_the_dir_max_depth.html
Copyright © 2011-2022 走看看