Substitution de chaines dans une variable bash
Par Henri Bauer le mercredi 15 février 2012, 02:09 - Linux - Lien permanent
Une ou plusieurs occurences
Si on a une varable VAR
qui contient une chaine :
$ VAR="jdlmlfqsjdl"
et qu'on veut remplacer jdl
par hb
, on peut directment écrire :
$ echo ${VAR/jdl/hb} hbmlfqsjdl
On constate qu'une seule substitution a été faite. Pour remplacer toutes les occurences du motif recherché, on utilise :
$ echo ${VAR//jdl/hb} hbmlfqshb
On peut également spécifier "début de chaine" et "fin de chaine" avec #
et %
:
$ echo ${VAR/#jdl/hb} hbmlfqsjdl $ echo ${VAR/%jdl/hb} jdlmlfqshb