В bash предположим, что у меня есть строка strname
:
strname="ph7go04325r"
Я хотел бы извлечь символы между первым "3"
и последним "r"
символом strname
, сохранив результат в виде строки strresult
. В приведенном выше примере результатом strresult
будет:
strresult="25"
Первый "3"
символ не обязательно находится в позиции строки 8 в strname
; то же самое, последний "r"
является не обязательно в струнном положении 11. Таким образом, оба из следующих строк strname
должны давать strresult="25"
:
strname="ph11go04325raa"
strname="325r"
strname="rgo04325raa"
Также strname=ph12go04330raa"
следует уступить strresult="30"
.
Я новичок в сценариях Bash, и я не знаю, с чего начать сопоставление шаблонов строк, как это. У Вас есть какие-то предложения?
источник