Tratamento de zeros a esquerda
Inclui ou retira zeros à esquerda do valor de uma variável.
Funcões úteis para calculos que envolvem grandezas de tempo que possuem zero à esquerda (hora, minutos, segundos, dia, mês).
Funcões úteis para calculos que envolvem grandezas de tempo que possuem zero à esquerda (hora, minutos, segundos, dia, mês).
Descrição
Inclui ou retira zeros à esquerda do valor de uma variável.
Funcões úteis para calculos que envolvem grandezas de tempo que possuem zero à esquerda (hora, minutos, segundos, dia, mês).
Funcões úteis para calculos que envolvem grandezas de tempo que possuem zero à esquerda (hora, minutos, segundos, dia, mês).
#!/bin/bash
# Tratamento de zeros a esquerda
# Powered by /.wolf3rin3.blu35
# pauloriccelli@gmail.com.br
# O que faz:
# Inclui ou retira zeros à esquerda do valor de uma variável.
# Util para cauculos que envolvem grandezas
# de tempo que possuem zero à esquerda
# (hora, minuto, segundo, dia, mês).
#-----------------------------------------------------------
# Inicio do Código
#-----------------------------------------------------------
# Funcões
_zero()
{
# Inclui um zero antes do valor de $1 caso este for
# menor que 10 caso contrario devolve o numero
# $NEW
NEW=$1
ZIRU="0"
if [ $1 -lt 10 ]; then
NEW="${ZIRU}${1}"
else
NEW="$1"
fi
}
_sem_zero()
{
# Retira os zeros a esquerda
# Caso o numero seja no formato
# "0x"
# Caso contrario devolve o numero
# $NEW
ZIRU=`echo $1 | cut -c 1`
if [ $ZIRU == '0' ]; then
NEW=`echo $1 | cut -c 2`
else
NEW="$1"
fi
}
#----------------------------------------------------------
# Uso:
#----------------------------------------------------------
_zero $1
echo "${NEW}"
_sem_zero $1
echo "${NEW}"
exit
see more: deadnomore.blogspot.com
Ex.:
var=6
for ((i=0 ; i < 5 ; i++))
do
printf "%03d\n" "$var"
((var++))
done
Saída:
006
007
008
009
010