convertir variables en bash
Horst von Brand
vonbrand en inf.utfsm.cl
Mie Ago 10 21:44:08 CLT 2005
augusto ingunza <aingunza en yahoo.com> wrote:
> Estoy intentando hacer un programa
Script en bash(1), supongo.
> y tengo una varible
> con un resultado que aparentemente es numerico pero
> parece que me lo esta reconociendo como string
Los shell no tienen variables "numero" y "string".
> lineas=`wc -l prubackup.ascii | awk -F' ' '{ print $1 }'`
Para que tanta macana?!
lineas=$(wc -l prubackup.ascii)
> Con esto solo quiero obtener el numero de lineas que
> tiene este archivo y luego con
>
> contador=1
> while [ $contador -lt $lineas ]; do
No te sirve algo como:
for contador in {1..$lineas}; do
# Aca pones lo entretenido
done
> hago una compracion pero me parece que si bien el
> contenido de la varible lineas es una numero esta como
> tipo caracter y quisiera convertirlo a numero.
Claro que es un string. Y test(1) (es lo mismo que [(1) ;-) con -lt
considera _ambos_ operandos como enteros.
Aunque me late que la solucion va mas bien por algo del corte:
while read linea; do
# Chuchoquear a gusto con $linea
done < prubackup.ascii
O incluso usar un lenguaje mas expresivo, como Perl, Python, o Ruby. Hasta
awk.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
Más información sobre la lista de distribución Linux