On Wed, 24 Sep 2003 08:20:17 +0200
maurice furstoss <[EMAIL PROTECTED]> wrote:

> le Mon, 22 Sep 2003 21:52:08 +0200
> jipe <[EMAIL PROTECTED]> a �crit:
> 
> > pour supprimer le / de /boot s'il est le 1er caract�re
> > 
> > $ echo ${SAUVE_REP#/}
> > boot
> > 
> > pour supprimer le 1er caract�re quel qu'il soit 
> > 
> > $ echo ${SAUVE_REP#?}
> > boot
> > 
> > ou encore
> > 
> > $ echo ${SAUVE_REP:1}
> > boot
> 
>  merci bien, j'avais mal plac� le "{" dans la 3� formule...
> si je puis me permettre, dans la 1� et 2�, quelle est la signification pr�cise du 
> "#", pourquoi cela ne concerne t-il que le 1er caract�re?

quelques lignes pour espliquer ...

$ var=a.b.c.d
$ echo ${var%.*}
a.b.c
$ echo ${var#*.}
b.c.d
$ echo ${var%%.*}
a
$ echo ${var##*.}
d
$ 

avec % j'�limine ce qui est � droite du point le plus � droite
avec %% ce qui est � droite du point le plus � gauche
avec # j'�limine ce qui est � gauche du point le plus � gauche
avec ## ce qui est � gauche du point le plus � droite ...

dans chaque cas, j'utilise une wildcard * qui permet d'aller chercher le point � 
l'int�rieur de $var. sans l'*, il faudrait que le point soit � une des extr�mit�s de 
$var.

$ var=.a.b.c.d.
$ echo ${var%.}
.a.b.c.d
$ echo ${var#.}
a.b.c.d.
$ echo ${var%%.}
.a.b.c.d
$ echo ${var##.}
a.b.c.d.
$ 

% et %% ont le m�me comportement, idem pour # et ##. 

le ? est aussi une wildcard qui signifie "au moins un caract�re, quel qu'il soit". 
employ� seul, il signifiera 1er ou dernier caract�re selon que la substitution se 
fasse avec # ou %.

>  d'autre part, quelle est la signification g�n�rale du ":"?

il signifie qu'on se place � un endroit pr�cis de la variable. le 1er : donne 
l'emplacement de d�part, le 2�me le nombre de caract�res � lire. le 1er caract�re est 
toujours num�rot� 0. pour lire 5 caract�res depuis le 3�me, on �crit "${var:2:5}". � 
d�faut de 2�me chiffre, c'est la variable est lue depuis l'emplacement de d�part 
jusqu'� la fin. pour lire $var � partir du 2�me caract�re et jusqu'au bout, c'est 
"${var:1}"

> 
> -- 
> maurice furstoss 
> 
> 

bye
jipe

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";.

Foire Aux Questions de la liste : http://mdk.mondelinux.org

Répondre à