Pular para o conteúdo

Acertando número para numeração

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,..
Augusto enki1
Hits: 5.499 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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,..
Download numbercorrect.Ah Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Make ISO OpenBSD

Pegando seu IP e Hostname com um unico comando.

Slocal Manipulação de pacotes Slackware

Screenshot com contagem regressiva e mensagens

Autocafeijao

#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

Entre na sua conta para comentar.