下面是转载的一段sh脚本:
#!/bin/bash

if [ $# -ne 1 ]; then 
  echo "Usage: $0 file"
  exit 1  
fi

TSIZE=0
for FSIZE in $(tar tvvf $1 | awk '{print $3}'); do
    if [ "$FSIZE" = "${FSIZE//[^0-9]/}" ]; then 
        TSIZE=$((TSIZE+FSIZE))
    fi
done

[ $TSIZE -eq 0 ] && exit 1

MSG="Extracting..."
PROG_POS=$((${#MSG}+1))
PERC_POS=$((${#MSG}+53))

echo $MSG

PREV=-1
NSIZE=0
for FSIZE in $(tar xvvf $1 | awk '{print $3}'); do
    if [ "$FSIZE" = "${FSIZE//[^0-9]/}" ]; then 
        NSIZE=$((NSIZE+FSIZE))
        PERCENT=$((NSIZE*100/TSIZE))
        if [ $PERCENT -ne $PREV ]; then 
            PLUS=$((PERCENT/2))
            PROGRESS=$(printf "%.${PLUS}d" | tr '0' '+')
            echo -e "\e[A\e[${PROG_POS}G${PROGRESS}=>"
            echo -e "\e[A\e[${PERC_POS}G${PERCENT}%"
            PREV=$PERCENT
        fi      
    fi
done
需要改动的地方可以自己修改。


GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐