linux:bash
Bourne Again SHell
Variables - découpage
Il y a une syntaxe au sein de la variable qui permet de séparer les différents strings qui la compose.
Avec % on part de la fin, avec # on part du début.
* correspond à un string, c'est à dire à “tous les caractères après/avant le délimiteur” qui est, dans mon exemple ci-dessous, un espace.
? correspond à un caractère
${test% *} # $test sans le dernier string, séparé par un espace ${test%% *} # $test sans tous les derniers strings, séparés par un espace, il ne reste que le premier ${test#* } # $test sans le premier string (séparé par un espace) ${test##* } # $test sans tous les premiers strings (séparés par un espace), il ne reste que le dernier string
Cette méthode peut aussi être utilisée pour retirer une extension de fichier, en changeant le délimiteur “ ” par “.” :
${test%.*} # retire tous les caractères après le dernier délimiteur "." ${test%.???} # idem mais avec 3 caractères seulement
linux/bash.txt · Dernière modification : 2024/01/05 05:30 de 127.0.0.1