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 sepa-
rates 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. Com-
parisons are arithmetic if both ARGs are numbers, else lexicographical.
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 oc-
curred.
AUTHOR
Written by Mike Parker, James Youngman, and Paul Eggert.
REPORTING BUGS
Report bugs to: bug-coreutils@gnu.org
GNU coreutils home page:
General help using GNU software:
Report any translation bugs to
COPYRIGHT
Copyright (C) 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL
version 3 or later .
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
or available locally via: info '(coreutils) expr invocation'
GNU coreutils 9.11 April 2026 EXPR(1)