expr

EXPR(1)                  Manuel de l'utilisateur Linux                 EXPR(1)



NOM
       expr - Ãvaluer des expressions

SYNOPSIS
       expr expression...
       expr {--help,--version}

DESCRIPTION
       Cette page de manuel décrit la version GNU de expr.

       expr évalue une expression, et imprime le résultat sur la sortie
       standard.

       Chaque élément minimal de l'expression doit être fourni comme
       argument indépendant. Les opérandes peuvent être des nombres ou des
       chaînes de caractères. Les chaînes n'ont pas besoin d'être
       encadrées pour expr, mais il est généralement nécessaire de le
       faire pour les protéger du shell.

       expr transforme tout argument apparaissant en position d'opérande en
       un entier, ou en une chaîne suivant le type d'opération à appliquer.

       Les opérateurs sont (par ordre décroissant de priorité) :

       |      Renvoie son premier argument s'il n'est pas nul, et si sa valeur
              n'est pas zéro, sinon il renvoie son second argument. Il s'agit
              de l'opération 'OU' habituelle.

       &      Si aucun des deux arguments n'est nul, et si aucune valeur n'est
              0, renvoie son premier argument. Sinon il renvoie 0.

       <  <=  =  ==  !=  >=  >
              Compare les arguments et renvoie 1 si la relation est vraie, 0
              sinon.  (== est un synonyme de =.)  expr transforme les deux
              arguments en nombres. La comparaison est numérique. Si la
              transformation en nombre échoue, une comparaison de type
              lexicographique est choisie.

       +  -   Effectuent une opération arithmétique. Les deux arguments sont
              transformés en nombres et une erreur se produit si c'est
              impossible.

       *  /  %
              Effectuent une opération arithmétique (le `%' est l'opération
              `modulo' comme en C). Les deux arguments sont transformés en
              nombres et une erreur se produit si c'est impossible.

       :      Effectue une recherche de sous-chaîne. Les arguments sont
              considérés comme des chaînes. Le second est une expression
              rationnelle avec un `^' ajouté implicitement au début. Le
              premier argument est comparé à ce motif.  Si la correspondance
              réussit, et si une partie de la chaîne est encadrée par `\('
              et `\)', cette partie sera renvoyée comme valeur de
              l'expression :. Sinon l'opération renvoie un entier
              représentant le nombre de caractères mis en correspondance. Si
              la comparaison échoue, l'opérateur : renvoie une chaîne nulle
              si l'encadrement `\(' et `\)' est utilisé, et renvoie 0 sinon.
              On ne peut utiliser qu'un seul encadrement `\(' et `\)'.

       De plus, les mots-clés suivants sont valides :

       match chaîne exp_rationnelle
              Une autre manière de faire une mise en correspondance. Le
              résultat est le même que ``chaîne : exp_rationnelle''.

       substr chaîne pos lg
              Renvoie la partie de chaîne commençant à la position pos et
              de longueur maximale lg. Si pos ou lg est négatif, ou non-
              numérique, substr renvoie une chaîne nulle.

       index chaîne classe_caractères
              Renvoie la position de la première occurrence du premier
              caractère appartenant à classe_caractères dans la chaîne. Si
              aucun caractère de la classe_caractères n'est trouvé dans
              chaîne, 0 est renvoyé.

       length chaîne
              Renvoie la longueur de la chaîne.

       Les parenthèses servent à grouper les opérations comme d'habitude.
       Les mots-clés ne peuvent pas être utilisés comme chaînes.

   OPTIONS
       Quand la version GNU de expr est invoquée avec un unique argument, les
       options suivantes sont reconnues :

       --help Afficher un message d'aide sur la sortie standard, et se
              terminer normalement.

       --version
              Afficher un numéro de version sur la sortie standard, et se
              terminer normalement.

EXEMPLES
       Pour ajouter 1 Ã  la variable shell a :

              a=`expr $a + 1`

       On peut utiliser l'expression suivante pour imprimer la partie sans
       répertoire d'un nom de fichier situé dans la variable a (La valeur de
       a n'a pas besoin de contenir de `/'):

              expr $a : '.*/\(.*\)' '|' $a

       Remarquez la protection des méta-caractères du shell.

       expr renvoie les codes de retour suivants :

       0 si l'expression n'est ni nulle ni 0,
       1 si l'expression est nulle ou 0,
       2 si l'expression est invalide.


TRADUCTION
       Christophe Blaess, 1997.



coreutils                       30 juillet 2003                        EXPR(1)