0
Rellenar string

Solved 2 Respuestas 8 Views
A ver quien hace esto de alguna manera distinta a la mia:

Dado un string de X cantidad de caracteres rellenarlo con 0 hasta llegar a un numero Y de caracteres (pongamosle 10), obviamente con un shell script.

Yo lo hice asi:

echo "pepe" | awk 'BEGIN{l=10} {if ( length($1) < l) for(i=length($1);i<l;i++) a=a"0"} END{print $1a}'

Saludos

2 Respuestas

0
Mejor respuesta
while, wc, tr, echo y variable builtin

string="pepe" ; while [ $( echo ${string} | tr -d "\n" | wc -c ) -lt 10 ] ; do string=${string}0 ; done ; echo ${string}
respondido por Tano (1,600 puntos) Sep 21, 2015
seleccionada por edux Sep 23, 2015
1Comentarios
comentado por luigibalzani (10,210 puntos) Sep 21, 2015
Muy bien! funciona perfecto!
0
Podrías usar algo así:

printf "%10s" juan | sed 's/\ /0/g'
respondido por rm_jorge (150 puntos) Sep 21, 2015
2Comentarios
comentado por luigibalzani (10,210 puntos) Sep 21, 2015
Muy bien! Ahora si tenes que detectar la cantidad de caracteres del string y rellenar hasta 10 como haces?
comentado por rm_jorge (150 puntos) Sep 21, 2015
el 10 indica la cantidad de posiciones que tiene que ocupar en total el campo, fijate en el man: http://linux.die.net/man/3/printf
...