Substitution de variables
De Linuxmemo.
(→valeur par défaut) |
(→recherche et de remplacement) |
||
Ligne 23 : | Ligne 23 : | ||
Ce remplacement n'est donc effectué qu'une seule fois. Si l'on veut que toutes les occurrences du motif soient remplacées par la chaîne de remplacement, il suffit de doubler le premier / : | Ce remplacement n'est donc effectué qu'une seule fois. Si l'on veut que toutes les occurrences du motif soient remplacées par la chaîne de remplacement, il suffit de doubler le premier / : | ||
${variable//motif/remplacement} | ${variable//motif/remplacement} | ||
+ | la présence du champ remplacement est facultative. Cela permet de supprimer purement et simplement les sous-chaînes de caractères qui correspondent au motif. | ||
==Astuces== | ==Astuces== | ||
for i in $(ls *.m4a);do avconv -i $i ${i/.m4a/.mp3} ;done | for i in $(ls *.m4a);do avconv -i $i ${i/.m4a/.mp3} ;done |
Version du 25 novembre 2017 à 21:56
sources: http://casteyde.christian.free.fr/system/linux/guide/online/x3679.html
Sommaire |
valeur par défaut
valeur par défaut pour le cas où cette variable ne contient rien ou n'est pas définie
${variable:-valeur}
Notez que la variable reste indéfinie après la substitution.
Pour fixer la valeur de la variable à cette valeur par défaut en plus d'effectuer la substitution
${variable:=valeur}
message d'erreur
un message d'erreur plutôt que de donner une valeur par défaut lorsqu'une variable n'est pas définie.
${variable:?message}
tester
tester si une variable est non définie et renvoyer une valeur spécifique si elle est définie
${variable:+valeur}
recherche et de remplacement
recherche et de remplacement du shell dans les chaînes de caractères contenues dans des variables
${variable/motif/remplacement}
Ce remplacement n'est donc effectué qu'une seule fois. Si l'on veut que toutes les occurrences du motif soient remplacées par la chaîne de remplacement, il suffit de doubler le premier / :
${variable//motif/remplacement}
la présence du champ remplacement est facultative. Cela permet de supprimer purement et simplement les sous-chaînes de caractères qui correspondent au motif.
Astuces
for i in $(ls *.m4a);do avconv -i $i ${i/.m4a/.mp3} ;done