expr

EXPR(1)                     General Commands Manual                    EXPR(1)



NOMBRE
       expr - evalúa expresiones

SINOPSIS
       expr expresion...
       expr {--help,--version}

DESCRIPCIÃN
       Esta documentación no será mantenida y puede ser inexacta o
       incompleta.  La documentación Texinfo es ahora la fuente autorizada.

       Esta página de manual documenta la versión GNU de expr.  expr evalúa
       una expresión y escribe el resultado en su salida estándar.  Cada
       elemento de la expresión debe ser un argumento separado. Los Operandos
       puden ser números o bien cadenas. Las cadenas no se entrecomillan para
       expr, pero puede ser necesario entrecomillarlas para protegerlas de la
       shell.  expr fuerza cualquier cosa que aparezca en una posición de
       operando a un entero o a una cadena, dependiendo de la operación que
       se le aplique.

       Los operdores (en orden ascendiente de prioridad) son:

       |      Toma su primer argumento si no es ni nulo ni 0, en otro caso
              toma su segundo argumento. Esta es la operación `or' habitual.

       &      Toma su primer argumento, si el argumento no es ni nulo ni 0, y
              toma 0 en otro caso

       <  <=  =  ==  !=  >=  >
              Compara sus argumentos y devuelve 1 si la relación es verdadera
              o 0 en otro caso.  (== es un sinónimo de =.)  expr intenta
              forzar ambos argumentos a números y efectúa una comparación
              numérica; si falla cuando intenta forzar algún argumento
              entonces efectúa una comparación lexicográfica.

       +  -   Realiza operaciones aritméticas. Se fuerza la conversión de
              ambos argumentos a números; si esto no se puede hacer se
              produce un error.

       *  /  %
              Realiza operaciones aritméticas (`%' es la operación resto,
              como en C).  Se fuerza la conversión de ambos argumentos a
              números; si esto no se puede hacer se produce un error.

       :      Realiza la verificación de patrones. Sus argumentos se fuerzan
              a cadenas y el segundo se considera una expresión  regular, con
              un `^' implÃcito añadido al principio. Entonces el primer
              argumento se comprueba con la expresión regular. Si la
              comprobación es correcta y parte de la cadena está comprendida
              en `\(' y `\)', esa parte es el valor de la expresión :; en
              otro caso se devuelve un entero que es el número de caracteres
              verificados correctamente. Si la verificación falla, el
              operador : devuelve la cadena nula si se usan `\(' y `\)' y 0 en
              otro caso. Sólo se pueden usar los pares  `\(' and `\)'.

       Además reconoce las siguientes palabras:

       match cadena expresión
              Una forma alternativa de efectuar comprobaciones de cadenas.
              Esto es lo mismo  que ``cadena : expresión''.

       substr cadena posición longitud
              Devuelve la subcadena de  cadena comenzando en posición con
              longitud máxina longitud.  Si posición o longitud es negativo
              o no numérico, devuelve una cadena nula.

       index cadena clase-de-caracteres
              Devuelve la primera posición de cadena donde encuentra el
              primer carácter clase-de-caracteres.  Si no encuentra ningún
              carácter en  string en  clase-de-caracteres, devuelve 0.

       length cadena
              Devuelve la longitud de  cadena.

       Los paréntesis se usan para agrupar de la forma habitual. Las palabras
       reservadas no se pueden usar como cadenas.

   OPCIONES
       Cuando GNU expr se llama con un único argumento, se reconocen las
       siguientes opciones:

       --help Imprime un mensaje de uso en la salida estándar y termina
              correctamente.

       --version
              Imprime información sobre la versión en la salida estándar y
              termina correctamente.

EJEMPLOS
       Para sumar 1 a una variable de shell a:

              a=`expr $a + 1`

       Lo siguiente se puede usar para imprimir la parte no directorio de un
       nombre de fichero guardado en una variable a (el valor de a necesita no
       contener  `/'):

              expr $a : ´.*/\(.*\)´ ´|´ $a

       Observe las comillas de los metacaracteres de shell.

       expr devuelve el siguiente estado de fianlización:

       0 si la expresión no es ni nula ni cero,
       1 si  la expresión es nula o 0,
       2 para expresiones inválidas.



FSF                          Utilidades Shell GNU                      EXPR(1)