|
From: | brunodiasinfo |
Subject: | Barra de progresso no CP |
Date: | 20 Mar 2019 20:24:39 +0000 |
Prezados tudo bem?
Estava copiando cerca de 400GB esses dias e demorou demais, senti a falta de uma barra de progresso/porcentagem, descobri que poderia usar o 'rsync -r --progress SOURCE DEST'.
Essa solução não me agradou, entao como eu amo nosso querido shell, me dispus a criar uma para o CP, e ficou muito boa, porém, sabe quando falta aquele detalhe, aquele tempero na comida? então, só que daqui para frente eu não sei mais o que fazer para resolver isso, segue o código abaixo.
Como eu quero fazer, eu quero que a barra seja exibida da seguinte forma:
[ 100% ................................................................................................... ]
Como ela é exibida:
[ 100% ...................................................................................................
O número da porcentagem vai variando, e os pontos também, como eu fiz especifico para usar com o CP, tudo funciona muito bem, ele faz tudo baseado em procentagem, e em tamanho do arquivo, para poder calcular a porcentagem, porém, queria colocar um limite igual no 1° exemplo, mas o colchete do final vai ficar andando.
Alguem teria uma solução?
Desde já muito obrigado pela ajuda de todos.
Código:
---------------------------------------------------------------------------------------------------------
#!/bin/bash
car=""
origem="$1"
destino="$2"
tamanho="$(du -bs $origem | awk '{print $1}')"
zeroo=0
umm=1
tput civis -- invisible
while [ "$zeroo" -lt "$umm" ]; do
cp -aR $origem $destino & pid=$!
while ps -p $pid &>/dev/null; do
tamanho_origem="$(du -bs $origem | awk '{print $1}')"
tamanho_destino="$(du -bs $destino | awk '{print $1}')"
indice=$(($tamanho_destino * 100 / $tamanho_origem))
car="$(echo "`seq -s '.' $indice | tr -d [:digit:]`")"
for h in er
do
echo -ne "\\r[ $indice% $car"
done
umm=$((umm - 1))
tput cnorm -- normal
done
echo ""
done
---------------------------------------------------------------------------------------------------------
[Prev in Thread] | Current Thread | [Next in Thread] |