Les chaînes de caractères
Bash possède de nombreuses fonctionnalités pour manipuler les chaînes de caractères qui ne sont pas aissé à maîtriser.Longueur d'une chaîne de caractère
Il existe au moins 2 méthodes pour y parvenir.nom="Paul" ${#nom} #retourne 4 nom="Paul" echo `expr length $nom` #retourne 4
Si la chaîne contient des espaces, il faut mettre des " au tour de la chaîne de caractère lorsqu'on utilise la deuxième méthodes.
nom="Paul Smith" echo `expr length "$nom"` #retourne 10
Il faut faire attention lorsque la chaîne de caractère contient des '. Il faut alors utiliser le \.
message='C'\''est froid dehors' echo ${#message} #retourne 18 echo ${message} #retourne C'est froid dehors
Extraction d'une chaîne de caractère
Bash permet d'extraire une chaîne caractère d'une autres à partir de différente position.Le première paramètre spécifié indique la position de départ et le second indique la longueur.
message="Il fait froid dehors" echo ${message:3} # retourne fait froid dehors echo ${message:8:5} # retourne froid echo ${message:(-6)} # retourne dehors
Enlever des caractères en début de chaîne
Cette possibilité permet d'enlever les caractères se trouvant en début de chaîne, il faut spécifier la chaîne désirer être enlever. Il est possible d'utiliser l'étoile. Elle signifie n'importe quelle caractère.message="Il fait froid dehors" echo ${message#Il} #fait froid dehors echo ${message#I*d} #dehors
Dans le seconde cas, il est spécifié, enlever la chaîne débutant par I et se terminant par d.
Enlever des caractères en fin de chaîne
C'est identique à la fonction précédente, excepté qu'elle commence par la fin de la chaînemessage="Il fait froid dehors" echo ${message%d*s} #Il fait froid
Remplacer une chaîne par une autre
Le première paramère est la chaîne de caractère initiale, le deuxième est la valeur recherché et le troisière est la valeur qui remplacera le deuxième paramètre.message="Il fait froid dehors" echo ${message/froid/chaud} #Il fait chaud dehors
Prenez note que si vous voulez replacer toutes les occurences du deuxième paramètre par le troisième, il faut doublez le / du deuxième paramètre.
message="Il fait froid dehors" echo ${message//froid/chaud} #Il fait chaud dehors
Nous avons vu les quelques fonctions que Bash propose pour manipuler des chaînes de caractères. Leurs syntaxes varie ce qui rend leur utilisation un peu plus difficile.
Aucun commentaire:
Enregistrer un commentaire