|
|
|
|
Bonjour à tous,
dans un script unix, j'ai besoin de supprimer le début et la fin d'une chaine de caractères.
- une variable chaine contient la chaîne à manipuler :
chaine="EXPRESSION A SUPPRIMER des caractères et des espaces que je conserve MOT_CLE avec des mots à supprimer"
- une variable expression contient la chaîne à supprimer en début de chaîne, avec des caractères et des espaces :
expression="EXPRESSION A SUPPRIMER"
- la chaîne de caractères MOT_CLE est une constante
comment transformer, en script unix, la chaîne
"EXPRESSION A SUPPRIMER des caractères et des espaces que je conserve MOT_CLE avec des mots à supprimer"
en
"des caractères et des espaces que je conserve"
merci par avance à tous pour votre aide
Configuration: Mac OS X Safari 419.3
Salut, $ chaine="EXPRESSION A SUPPRIMER des caractères et des espaces que je conserve MOT_CLE avec des mots à supprimer"
$ new_chaine=$(echo ${chaine//EXPRESSION A SUPPRIMER }) && echo ${new_chaine// MOT_CLE*}
des caractères et des espaces que je conserve
$;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Salut,
$ echo $chaine
EXPRESSION A SUPPRIMER des caractères et des espaces que je conserve MOT_CLE avec des mots à supprimer
$ echo $chaine | sed -r 's/EXPRESSION A SUPPRIMER (.*) MOT_CLE.*/\1/'
des caractères et des espaces que je conservemaintenant si tu veux une solution fiable, soit un peu plus précis
C'est impératif de savoir la chaine à traiter pour donner une solution fiable. lami20j |
Merci pour vos retours hyper rapides ! chapeau bas !!
|
$ echo ${tmpDescription}
LE NOM DU SITE la description du site DESCRIPTIF ACCES à nouveau le descriptif de l'accès au site
$ echo $ref1
LE NOM DU SITE
$ echo $ref2
DESCRIPTIF
$ echo ${tmpDescription} | sed -r "s/$ref1(.*)$ref2.*/\1/"
la description du site
$ Merci lami20j ;-))
Mais aussi : $ description=$(new=$(echo ${tmpDescription//$ref1}) && echo ${new//$ref2*})
$ echo $description
la description du site
$ ;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |