File: expr.1

package info (click to toggle)
manpages-fr 0.5-2
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 4,236 kB
  • ctags: 4
  • sloc: makefile: 55
file content (118 lines) | stat: -rw-r--r-- 4,375 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
.\" Traduction 23/12/1996 par Christophe Blaess (ccb@club-internet.fr)
.\"
.TH EXPR 1L "23 Decembre 1996" FSF "Manuel de l'utilisateur Linux"
.SH NOM
expr \- Evaluer des expressions.
.SH SYNOPSIS
.B expr
expression...
.br
.B expr
{\-\-help,\-\-version}
.br
.SH DESCRIPTION
Cette page de manuel decrit la version GNU de
.BR expr .

.B expr
evalue une expression, et imprime le resultat sur la sortie standard.

Chaque element minimal de l'expression doit etre fourni comme argument
independant. Les operandes peuvent etre des nombres ou des chaines de
caracteres. Les chaines n'ont pas besoin d'etre encadrees pour \fBexpr\fP,
mais il est generalement necessaire de le faire pour les proteger du shell.

.B expr
transforme tout argument apparaissant en position d'operande en un entier,
ou en une chaine suivant le type d'operation a appliquer.
.PP
Les operateurs sont (par ordre decroissant de precedence) :
.IP "\fI|\fP"
Renvoie son premier argument s'il n'est pas nul, et si sa valeur n'est pas
zero, sinon il renvoie son second argument. Il s'agit de l'operation 'OU'
habituelle.
.IP "\fI&\fP"
Si aucun des deux arguments n'est nul, et si aucune valeur n'est 0, renvoie
son premier argument. Sinon il renvoie 0.
.IP "\fI<\fP\0 \fI<=\fP\0 \fI=\fP\0 \fI==\fP\0 \fI!=\fP\0 \fI>=\fP\0 \fI>\fP"
Compare les arguments et renvoie 1 si la relation est vraie, 0 sinon.
(\fI==\fP est un synonyme de \fI=\fP.)
\fBexpr\fP transforme les deux arguments en nombres. La comparaison est
numerique. Si la transformation en nombre echoue, une comparaison de type
lexicographique est choisie.
.IP "\fI+\fP\0 \fI-\fP"
Effectuent une operation arithmetique. Les deux arguments sont transformes
en nombres et une erreur se produit si c'est impossible.
.IP "\fI*\fP\0 \fI/\fP\0 \fI%\fP"
Effectuent une operation arithmetique (le `%' est l'operation `modulo' comme
en C). Les deux arguments sont transformes en nombres et une erreur se produit
si c'est impossible.
.IP "\fI:\fP"
Effectue une recherche de sous-chaine. Les arguments sont consideres comme
des chaines. Le second est une expression reguliere avec un `^' ajoute
implicitement au debut. Le premier argument est compare a ce motif.
Si la correspondance reussit, et si une partie de la chaine est
encadree par `\e(' et `\e)', cette partie sera renvoyee comme valeur
de l'expression \fI:\fP. Sinon l'operation renvoie un entier representant
le nombre de caracteres mis en correspondance. Si la comparaison echoue,
l'operateur \fI:\fP renvoie une chaine nulle si l'encadrement `\e(' et `\e)'
est utilise, et renvoie 0 sinon. On ne peut utiliser qu'un seul encadrement
`\e(' et `\e)'.
.TP
De plus, les mots-cles suivants sont valides :
.TP
.BI match " chaine exp_reg"
Une autre maniere de faire une mise en correspondance. Le resultat est
le meme que ``\fIchaine\fP \fB:\fP \fIexp_reg\fP''.
.TP
.BI substr " chaine pos lg"
Renvoie la partie de \fIchaine\fP commencant a la position \fIpos\fP et
de longueur maximale \fIlg\fP.  Si \fIpos\fP ou \fIlg\fP est negatif, ou
non-numerique, \fIsubstr\fP renvoie une chaine nulle.
.TP
.BI index " chaine classe_caractere"
Renvoie la position de la premiere occurence du premier caractere appartenant
a \fIclasse_caractere\fP dans la \fIchaine\fP. Si aucun caractere de
\fIclasse_caractere\fP n'est trouvee dans \fIchaine\fP, 0 est renvoye.
.TP
.BI length " chaine"
Renvoie la longueur de la \fIchaine\fP.
.PP
Les parentheses servent a grouper les operations comme d'habitude. Les mots-cles
ne peuvent pas etre utilises comme chaines.
.SS OPTIONS
Quand la version GNU de
.B expr
est invoquee avec un unique argument, les options suivantes sont reconnues :
.TP
.I "\-\-help"
Afficher un message d'aide sur la sortie standard, et terminer normalement.
.TP
.I "\-\-version"
Afficher un numero de version sur la sortie standard, et terminer normalement.
.SH EXEMPLES
.PP
Pour ajouter 1 a la variable shell
.IR a " :"
.IP
a=\`expr $a + 1\`
.PP
On peut utiliser l'expression suivante pour imprimer la partie sans repertoire d'un nom
de fichier situe dans la variable
.IR a
(La valeur de
.IR a
n'a pas besoin de contenir de `/'):
.IP
expr $a : \'.*/\e(\^.*\e)\' \'\^|\' $a
.LP
Remarquez les meta-caracteres du shell proteges de celui-ci.
.PP
.B expr
renvoie les codes de retour suivants :
.PP
0 si l'expression n'est ni nulle ni 0,
.br
1 si l'expression est nulle ou 0,
.br
2 si l'expression est invalide.