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