Purpose :Evaluer une expression et afficher le résultat sur STDOUT

 

Format :EXPR string : regex        Correspondance d'une expressionrégulière  avec une chaîne de caractères
EXPR match string regex        Identique à chaîne : regex
EXPR substr string pos len        Sous-chaîne de la chaîne, pos commence à 1
EXPR index string chars        Index dans la chaîne (le premier caractère est 1) où l'on trouve quelque chose dans les caractères, ou 0 si rien ne correspond.
EXPR length string        Longueur de la chaîne
 
arg1 [operator] arg2...        Il peut s'agir de n'importe quelle expression arithmétique prise en charge par @EVAL, ou                de n'importe quelle expression conditionnelle prise en charge par IF /IFF.

 

Voir aussi : Expressions conditionnelles, IFF, @IF.

 

Utilisation :

 

EXPR évalue les expressions de nombres entiers ou de chaînes de caractères, y compris les expressions régulières de correspondance de motifs. EXPR développe les variables de la ligne de commande avant d'évaluer l'expression, à moins qu'elles ne soient échappées ou mises entre guillemets.

 

Si vous avez des caractères spéciaux (par exemple, < > & |) sur la ligne, vous devez soit mettre toute l'expression entre guillemets (EXPR les supprimera avant d'évaluer l'expression), soit les échapper.

 

La correspondance d'une expression régulière est toujours ancrée (c'est-à-dire qu'il y a un ^implicite en tête ). Si l'expression régulière contient (...) et qu'elle correspond à au moins une partie de la chaîne, EXPR renvoie cette partie de la chaîne; s'il n'y a pas de correspondance, EXPR renvoie 0. Si l'expression régulière ne contient pas (...), le résultat est le nombre de caractères correspondant. MATCH effectue la même opération que l'opérateur deux-points.

 

Exemples :

 

expr text : tex

3

 

expr text : (.*)

text

 

expr 5 + 3 +1

9

 

expr length hello

5

 

expr index hello l

3

 

expr substr hello 2 3

ell