• 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/
  • 相关阅读:
    windows ntstatus.h 头文件
    Android Q 后台启动 Activity
    windows 删除文件夹所有文件夹及文件代码
    Android 加壳App Demo
    Android App 签名保护demo
    RXAndroidBle 记录网址
    c++ windows 获取系统时间
    js 代码保存
    day33 ansible
    day31 综合实时同步服务
  • 原文地址:https://www.cnblogs.com/schips/p/linux_bash_get_the_dir_max_depth.html
Copyright © 2020-2023  润新知