EXPR(1)                          User Commands                         EXPR(1)



NAME
       expr - evaluate expressions

SYNOPSIS
       expr EXPRESSION
       expr OPTION

DESCRIPTION
       --help display this help and exit

       --version
              output version information and exit

       Print  the  value of EXPRESSION to standard output.  A blank line below
       separates increasing precedence groups.  EXPRESSION may be:

       ARG1 | ARG2
              ARG1 if it is neither null nor 0, otherwise ARG2

       ARG1 & ARG2
              ARG1 if neither argument is null or 0, otherwise 0

       ARG1 < ARG2
              ARG1 is less than ARG2

       ARG1 <= ARG2
              ARG1 is less than or equal to ARG2

       ARG1 = ARG2
              ARG1 is equal to ARG2

       ARG1 != ARG2
              ARG1 is unequal to ARG2

       ARG1 >= ARG2
              ARG1 is greater than or equal to ARG2

       ARG1 > ARG2
              ARG1 is greater than ARG2

       ARG1 + ARG2
              arithmetic sum of ARG1 and ARG2

       ARG1 - ARG2
              arithmetic difference of ARG1 and ARG2

       ARG1 * ARG2
              arithmetic product of ARG1 and ARG2

       ARG1 / ARG2
              arithmetic quotient of ARG1 divided by ARG2

       ARG1 % ARG2
              arithmetic remainder of ARG1 divided by ARG2

       STRING : REGEXP
              anchored pattern match of REGEXP in STRING

       match STRING REGEXP
              same as STRING : REGEXP

       substr STRING POS LENGTH
              substring of STRING, POS counted from 1

       index STRING CHARS
              index in STRING where any CHARS is found, or 0

       length STRING
              length of STRING

       + TOKEN
              interpret TOKEN as a string, even if it is a

              keyword like 'match' or an operator like '/'

       ( EXPRESSION )
              value of EXPRESSION

       Beware that many operators need to be escaped  or  quoted  for  shells.
       Comparisons are arithmetic if both ARGs are numbers, else lexicographi-
       cal.  Pattern matches return the string matched between \(  and  \)  or
       null;  if  \( and \) are not used, they return the number of characters
       matched or 0.

       Exit status is 0 if EXPRESSION is neither null nor 0, 1  if  EXPRESSION
       is  null  or  0,  2 if EXPRESSION is syntactically invalid, and 3 if an
       error occurred.

AUTHOR
       Written by Mike Parker, James Youngman, and Paul Eggert.

REPORTING BUGS
       GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
       Report expr translation bugs to <http://translationproject.org/team/>

COPYRIGHT
       Copyright (C) 2014 Free Software Foundation, Inc.  License GPLv3+:  GNU
       GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
       This  is  free  software:  you  are free to change and redistribute it.
       There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
       Full documentation at: <http://www.gnu.org/software/coreutils/expr>
       or available locally via: info '(coreutils) expr invocation'



GNU coreutils 8.23                March 2015                           EXPR(1)
