Commandes utiles

De GioWiki.

m (Manipuler les chaînes de caractères)
m (Manipuler les chaînes de caractères (bash) - Uppercase/Lowercase)
Ligne 34 : Ligne 34 :
  ${chaine:position:longueur}
  ${chaine:position:longueur}
-
* Retirer les 3 premiers caractères d'une chaine
+
* Retirer les 3 premiers caractères d'une chaîne
  ${i:3}
  ${i:3}
-
* Retirer les 3 derniers caractères d'une chaine
+
* Retirer les 3 derniers caractères d'une chaîne
  ${i::${#i}-3}
  ${i::${#i}-3}
-
${#i} permet d'obtenir la longueur de la chaine
+
${#i} permet d'obtenir la longueur de la chaîne
-
* Récupérer les 3 premiers caractères d'une chaine
+
* Récupérer les 3 premiers caractères d'une chaîne
  ${i::3}
  ${i::3}
-
* Récupérer les 3 derniers caractères d'une chaine
+
* Récupérer les 3 derniers caractères d'une chaîne
  ${i: -3}
  ${i: -3}
Pour plus d'informations : [http://abs.traduc.org/abs-5.3-fr/ch09s02.html Manipuler les chaînes de caractères]
Pour plus d'informations : [http://abs.traduc.org/abs-5.3-fr/ch09s02.html Manipuler les chaînes de caractères]
 +
 +
* Uppercase
 +
Utilisation du caractère ^
 +
<pre>
 +
$ string="a few words"
 +
 +
$ echo ${string^}
 +
A few words
 +
 +
$ echo ${string^^}
 +
A FEW WORDS
 +
 +
$ echo ${string^^[aeiou]}
 +
A fEw wOrds
 +
</pre>
 +
 +
* Lowercase
 +
Utilisation du caractère ,
 +
<pre>
 +
$ string="A FEW WORDS"
 +
 +
$ echo ${string,}
 +
a FEW WORDS
 +
 +
$ echo ${string,,}
 +
a few words
 +
 +
$ echo ${string,,[AEIOU]}
 +
a FeW WoRDS
 +
</pre>
 +
 +
* Toggle
 +
Utilisation du caractère ~
 +
 +
~ Inverse (Upper/Lower) uniquement sur le premier caractère de chaque mots
 +
 +
~~ Inverse (Upper/Lower) sur tous les caractères de tous les mots
 +
<pre>
 +
$ string="A Few Words"
 +
$ echo ${string~~}
 +
a fEW wORDS
 +
 +
$ string="A FEW WORDS"
 +
$ echo ${string~}
 +
a fEW wORDS
 +
 +
$ string="a few words"
 +
$ echo ${string~}
 +
A Few Words
 +
</pre>
 +
 +
* Title case
 +
$ string="a few words"
 +
 +
On transforme notre variable en tableau pour pouvoir traiter chacun des mots
 +
$ string=($string)
 +
On uppercase chacun des premiers caractères de chaque mots
 +
$ string=${string[@]^}
 +
 +
$ echo $string
 +
A Few Words

Version du 12 mars 2015 à 10:12

Outils personnels