Acertando número para numeração

Publicado por Augusto 05/02/2006

[ Hits: 4.965 ]

Download numbercorrect.Ah




As vezes nós usamos alguns comandos ou scripts que deveram renomear arquivos e eles insistem em cometer esse erro:
arq1
arq10
arq11
arq2
arq3
.
.
.


qdo deveria retornar em ordem correta,..
          Este é um scriptzinho besta q tranforma o número 1 em 001, o 2 em 002 e/ou com qtos zeros vc quiser,...
          Espero q seja útil a alguém.,.
bjunda a tds,..

  



Esconder código-fonte

#!/bin/bash

#script numbercorrect.Ah

  #variáveis

  # ENT - recebe o número a ser trabalhado
  # ENTR - recebe o número a ser trabalhado atraves de $ENT e é usado para manipulaçÃo interna,.
  # INC - usada para contar a qtidade de zeros,.
  # RES - recebe o resultado.

  # setando as variáveis:
  ENT=$1
  INC=$(($2-1))
  
  #setando RES que aqui recebe o primeiro algarismo
  RES=$(($ENT-$ENT/10*10))

  #setando as demais variáveis
  ENTR=$(($ENT/10)) #já sendo retirado o último algarismo devido a linha 22




  while [ $ENTR != 0 ]
    do
      RES=$(($ENTR-$ENTR/10*10))$RES
      ENTR=$(($ENTR/10))
      INC=$(($INC-1))
    done

  while [ $INC != 0 ]
    do
      RES=0$RES
      INC=$(($INC-1))
    done

  echo $RES

Scripts recomendados

asbuild (Auto-SlackBuild)

imdb-cli - consultar filmes, séries e atores pelo site IMDB no terminal

Biblioteca de cores para o Bash

Obtém fotos de uma Câmera Digital organizando em Subdiretórios e Renomeando

Remoção de arquivos pela data


  

Comentários
[1] Comentário enviado por SMarcell em 12/05/2008 - 12:42h

Uma forma bem rápida de se fazer isso, seria utilizando o printf. Exemplo:

var=6
for ((i=0 ; i < 5 ; i++))
do
printf "%03d\n" "$var"
((var++))
done

Saída:
006
007
008
009
010


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts