convertir variables en bash

Guillermo O. Burastero linux.gb en gmail.com
Jue Ago 11 16:38:01 CLT 2005


(Nota: ver si sale en la lista por favor, sinó algo pasa.)

augusto ingunza wrote:

>Amigos:
>
>Estoy intentando hacer un programa y tengo una varible
>con un resultado que aparentemente es numerico pero
>parece que me lo esta reconociendo como string
>
>lineas=`wc -l prubackup.ascii | awk -F' ' '{ print $1
>}'`
>
>Con esto solo quiero obtener el numero de lineas que
>tiene este archivo y luego con
>
>contador=1
>while [ $contador -lt $lineas ]; do
>
>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.
>
>Saben de algun comando de bash que haga esto?
>
>Gracias
>
>Augusto
>
>  
>
Yo lo haría "ala" c nomás:

lineas=$( wc -l < prubackup.ascii )

for (( contador=1; contador <=lineas; contador++))
do
   #inserto acá los comandos que quiero hacer en cada iteración, por 
ejemplo:
    echo Linea $contador
done

Nótese que dentro de (( expr )) las variables en expresiones aritméticas 
usadas en expr no requieren anteponer el $ lo que clarifica su lectura y 
significado.

Recomiendo leer el manual de bash(1) para cálculo de expresiones 
aritméticas dentro de $(( expresión )) o ver ejemplos en

   http://www-128.ibm.com/developerworks/library/l-bash2.html

-- 
Guillermo O. Burastero - Linux Counter User 84879, http://counter.li.org
Córdoba 171 - B8000IFC - Bahía Blanca - Buenos Aires - Rep. Argentina
Tel +54 (291) 454-6132 - ICQ 97148268 - email: linux.gb en gmail.com



Más información sobre la lista de distribución Linux