Poner una variable a 3 números

Resuelto
Patrick33 -  
dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   -
Hola usuario del foro,
Vengo a preguntarles si es posible forzar una variable que contiene un número a estar en cierta cantidad de espacios.
Por ejemplo, si hago varA=001 y luego incremento esa variable, su valor será 2 mientras que me gustaría que fuese 002.
¡Gracias de antemano por sus respuestas!

2 respuestas

  1. Usuario anónimo
     
    hola,

    printf '%03d\n' 1 12 113 1114
    2
    1. Patrick33
       
      ¿Para qué sirven todos los números después de printf?
      0
    2. Usuario anónimo
       
      este es el formato! XD
      d : indica un entero
      3 : indica el desplazamiento hacia la derecha deseado
      0 : indica completar a la izquierda con ceros

      cf. man 3 printf
      0
    3. Patrick33
       
      No es eso lo que entendía; hablo de los que vienen después de la orden "1 12 113 1114".
      0
    4. Patrick33
       
      La orden funciona pero no cuando la introduzco en una variable.
      varB=printf '%03d\n' $varA
      Se trata probablemente de un error tonto porque soy principiante en shell
      0
    5. Patrick33
       
      me faltaba el $() se arregló, ¡gracias por tu ayuda!
      0
  2. blux Mensajes publicados 2060 Fecha de registro   Estado Moderador Última intervención   3 455
     
    Hola,

    ¿con qué propósito?
    Porque si la finalidad es solo la visualización, entonces gestionas en lo digital internamente y cuando quieras mostrar, formateas...

    --
    A+ blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
    1. Patrick33
       
      Tengo una serie de unos cien archivos de la forma nomdufichier_000.txt. El número al final del nombre se incrementa.
      Busco realizar una operación en estos archivos uno tras otro en orden ascendente; para ello quisiera usar una variable para hacer, por ejemplo "grep -n 'toto' *$mavariable.txt", sin embargo esta variable cuando la incremento se simplifica. Es decir, se haría 001 + 1 = 2 y no 002, de modo que en la siguiente pasada buscará el archivo *2.txt, lo que ya no apunta a un único archivo y sí a varios.
      0