# expr

### From Seo Wiki - Search Engine Optimization and Programming Languages

**expr** is a command line Unix utility which evaluates an expression and outputs the corresponding value.

Syntax: expr *(expression)*

*expr* evaluates integer or string expressions, including pattern matching regular expressions. Most of the challenge posed in writing expressions is preventing the command line shell from acting on characters intended for *expr* to process.

The operators available

- for integers: addition, subtraction, multiplication, division and modulus
- for strings: find substring, find regular expression, find a set of characters in a string, length of string
- for either: comparison (equal, not equal, less than, etc.)

Also, boolean expressions involving *and* and *or*, such as

expr length "abcdef" "<" 5 "|" 15 - 4 ">" 8

outputs "1". This is because length "abcdef" is 6, which is not less than 5 (so the left side of the | returns zero). But 15 minus 4 is 11 and is greater than 8, so the right side is true, which makes the *or* true, so 1 is the result. The program exit status is zero for this example.

For pure arithmetic, it may be more convenient to use bc, e.g.

echo "3*4+14/2" | bc

since it accepts the expression as a single argument.

## External links

Template:Unix commands Template:Unix-stubde:Expr fr:Expr pl:Expr (Unix) pt:Expr ru:Expr vi:Expr