On Wed, Aug 10, 2005 at 11:30:57AM -0700, augusto ingunza wrote:
> Amigos:
>

Hola!

> 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
> }'`
[...] 
> 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?

Yo hice esto:
lineas=$(wc -l .bash_profile|cut -d ' ' -f1)
(awk me huele a tramposo)

Y luego para probar, hice esto 
contador=1
while [ $contador -lt $lineas ]; do 
      echo $contador; 
      contador=$(($contador+1));
done

y funcionó!

Prueba si por ahi resulta

Saludos!

-- 
Mauricio Vergara Ereche                 mave [EMAIL PROTECTED] inf [.] utfsm 
[.] cl
counter.li.org: #188365                          Fonos: +56 9 1241718
Memorista Ing. Ej. Informatica UTFSM                    +56 32 472707
Valparaiso, CHILE                               http://mave.foobar.cl
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 189 bytes
Descripción: no disponible
Url        : 
http://listas.inf.utfsm.cl/pipermail/linux/attachments/20050811/05758727/attachment.bin
From [EMAIL PROTECTED]  Thu Aug 11 02:37:30 2005
From: [EMAIL PROTECTED] (Matias Mora Klein)
Date: Thu Aug 11 12:54:21 2005
Subject: convertir variables en bash
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

Horst von Brand wrote:

>augusto ingunza <[EMAIL PROTECTED]> 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) 
>
>  
>
mmm nop. supongo que al menos habria que aplicar un
 | cut -d " " -f1
para que arroje el numero inicial (al menos es menos enredado que el 
awk... para este caso).

>  
>
>>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.
>  
>
me parece! con perl todo es mucho mas facil... pero menos entretenido :(

suerte!

-- 
matias mora klein
Estudiante Ing. Civil Informatica
UTFSM - Valparaiso

Responder a