Foros del Web » Administración de Sistemas » Unix / Linux »

comparar variables

Estas en el tema de comparar variables en el foro de Unix / Linux en Foros del Web. Hola a todos! tengo una duda, quiero guardar el numero de lineas de un fichero en una variable para despues compararla con otra. hasta aqui ...
  #1 (permalink)  
Antiguo 16/02/2010, 09:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 5
Antigüedad: 14 años, 2 meses
Puntos: 0
comparar variables

Hola a todos!
tengo una duda, quiero guardar el numero de lineas de un fichero en una variable para despues compararla con otra.
hasta aqui no hay problema:
A=$(wc -l $1)
el problema es que no se como se comparan variables, lo he intentado con if [ $A -gt $B ] pero me dice que son demasiados argumentos.
Hay alguna otra forma de compararlas que no sea con operadores relacionales??
gracias de antemano
  #2 (permalink)  
Antiguo 16/02/2010, 18:04
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: comparar variables

La comparación la estás haciendo bien, el problema es que el resultado de wc te está arrojando el nombre del archivo.

Suponiendo archivo.txt pasado como parámetro tiene 10 líneas, el valor de $A será "10 archivo.txt", por ello tu validación falla: no son números enteros.

Entonces, prueba con:
Código Bash:
Ver original
  1. A=$(wc -l $1 | awk '{print $1}')
  2.  
  3. # Más código ...
  4.  
  5. if [ $A -gt $B ]; then
  6.     # Más código ...
  7. fi
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 17/02/2010, 09:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 5
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: comparar variables

gracias, al final lo he solucionado asi:

A=$(wc -l | cut -d " " -f1)

:)

Etiquetas: comparar, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:15.