Provided by: manpages-es-extra_0.8a-17_all bug

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.