En bash, supposons que j'ai une chaîne strname
:
strname="ph7go04325r"
Je voudrais extraire les caractères entre le premier "3"
caractère et le dernier "r"
caractère strname
, en enregistrant le résultat dans une chaîne strresult
. Dans l'exemple ci-dessus, le résultat strresult
serait:
strresult="25"
Le premier "3"
caractère n'est pas nécessairement à la position de chaîne 8 po strname
; de même, la dernière "r"
n'est pas nécessairement à la position de chaîne 11. Ainsi, les deux chaînes suivantes strname
devraient donner strresult="25"
:
strname="ph11go04325raa"
strname="325r"
strname="rgo04325raa"
Aussi, strname=ph12go04330raa"
devrait céder strresult="30"
.
Je suis nouveau dans le script bash, et je ne sais pas par où commencer pour faire une correspondance de modèle de chaîne comme ceci. Avez-vous des suggestions?
la source