Я работаю над скриптом bash, который будет анализировать полное строковое имя, чтобы предоставить мне значение прошивки. Например оригинальное название строка будет что-то вроде:Parsing String Variable in Bash Script
Example_v0p1
Желаемая Выход:
0.1
Первая часть моей функции deliminates строки на основе значения подчеркивания и устанавливает второй элемент массив равен переменной называемой версии:
arr=(`echo $1| tr '_' ' '`)
version=${arr[1]}
Используя пример я предоставил, $ версия теперь равна «v0p1». Я ищу способ разобрать эту строку дальше, чтобы она выглядела как желаемый результат.
Если возможно, я хотел бы, чтобы решение могло обрабатывать несколько вариантов одного и того же формата, чтобы я мог использовать один и тот же скрипт для всех кодов версий, которые могут быть сгенерированы. Синтаксис, однако, всегда будет одним и тем же. v # р # {р # р # ....} Примеры:
v0p1p1
v3p2p0p1
v1p3
Желаемый результат:
0.1.1
3.2.0.1
1.3
Я не уверен, что лучший способ приблизиться к этой проблеме. Я недостаточно опытен с помощью REGEX для этого, и я не могу найти подходящий способ разбора строк, потому что они будут различной длины.
Если вы не возражаете, вы можете объяснить кусок, который говорит '<<<: команда«$ {1} ы»' ' –
<<< word' - это то же самое, что «echo word» command'. – choroba
'<<<' вызывается здесь-string для подачи некоторого значения команде 'sed'. – anubhava