expr

expr ist ein Befehl auf dem Betriebssystem Unix und seinen Derivaten, welches einen Ausdruck auswertet und das Ergebnis ausgibt. expr verarbeitet Ausdrücke mit Integerwerten oder Zeichenketten sowie auch Regulären Ausdrücken.

Der Befehl wird im Wesentlichen in Shell-Skripten genutzt, die meisten Ausdrücke, die sich mit expr zusammenstellen lassen, können moderne Unix-Shells zudem bereits durch Syntaxkonstrukte, wie sie in Programmiersprachen ebenfalls vorhanden sind, selbst auswerten.

expr ist ein Bestandteil der Single UNIX Specification. Die GNU-Implementierung ist Bestandteil der GNU Core Utilities.

Verfügbare Operanden

Alle Ausdrücke unterliegen generell den Regeln der Aussagenlogik, und es können unter anderem folgende Operationen verwendet werden:

Beispiel

Der folgende Ausdruck gibt als Ergebnis „1“ aus:

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

Generell wird der Ausdruck in einen linken und rechten Teil der Disjunktion geteilt, beide werden separat ausgewertet, bevor die Disjunktion angewendet wird:

Nun kann die finale Disjunktion angewendet werden, aus 0 | 1 ergibt sich dann das Resultat 1.

Unix-Befehle der GNU Core Utilities
Dateien

chgrp | chown | chmod | cp | dd | df | dir | dircolors | install | ln | ls | mkdir | mkfifo | mknod | mv | rm | rmdir | shred | sync | touch | vdir

Text

awk | cat | cksum | comm | csplit | cut | expand | fmt | fold | head | join | md5sum | nl | od | paste | ptx | pr | sha1sum | sed | sort | split | sum | tac | tail | tr | tsort | unexpand | uniq | wc

Shell

basename | chroot | date | dirname | du | echo | env | expr | factor | false | groups | hostid | id | link | logname | nice | nohup | pathchk | pinky | printenv | printf | pwd | readlink | seq | sleep | stat | stty | tee | test | true | tty | uname | unlink | users | who | whoami | yes