zoukankan      html  css  js  c++  java
  • 批量解压缩,显示进度条(2)

    #!/bin/bash
    #***************************************
    #   批量解压缩
    #   Batch decompression
    #   981789763@qq.com
    #   2019-07-11 
    #***************************************
    function jdt(){
        #进度条打印, $1 当前的个数, $2 总文件数
        str=""
        #(($((${1}*100/${2}))/2)) , 长度/2是为了只打印1/2的进度条
        for ((x=0;x<=$(($((${1}*100/${2}))/2));x++))
        do
            str+="="
        done
        printf "[e[036m%-51se[0m] %d%% 
    " "$str" "$((${1}*100/${2}))"  #$((${1}*100/${2}))计算出百分比
    }
    #=========================================
    function jys(){
        case $1 in
        *.tar.*) tar -xf $1 >/dev/null 2>&1
        ;;
        *.tar) tar -xf $1 >/dev/null 2>&1
        ;;
        *.tgz) tar -xf $1 >/dev/null 2>&1
        ;;
        *.zip) unzip -o $1 >/dev/null 2>&1
        ;;
        *.gz) gunzip  $1 >/dev/null 2>&1
        ;;
        *.bz2) bzip2 -d $1 >/dev/null 2>&1
        ;;  
        *) return 1
        ;;
        esac
    }
    #========================================
    function main (){
        m=1
        cd $1 #$1为压缩包目录
        file=(`ls |grep -E ".tar|.tgz|.gz|.bz2|.zip"`)
        printf "当前解压路径:%s ,共%d个压缩包
    " "$1" "${#file[*]}"    
        for file_name in ${file[*]}
        do
            jys $file_name
            jdt $m ${#file[*]}
            let m+=1
        done
        mkdir src
        find . -maxdepth 1 -type f -exec mv {} ./src ; &>/dev/null 
        echo -e
    }
    
    #------------------
    if [ -n "$1" ];then 
        main $1
    else
        echo "Enter the absolute path to decompression after the script"
    fi
    
    

    效果如下:

    jdt2
    jdt1

    原始第一版https://www.cnblogs.com/outsrkem/p/11068766.html


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    new、delete和malloc、free
    重写与重载
    面向对象三个基本特征
    Js零散知识点笔记
    ES6 笔记
    js 单例模式笔记
    关于闭包的见解
    DOM笔记
    浏览器差异
    JS高级程序设计 笔记
  • 原文地址:https://www.cnblogs.com/outsrkem/p/11257454.html
Copyright © 2011-2022 走看看