1

Я пишу скрипт bash и пытаюсь разобрать файл, чтобы получить версию программного обеспечения. Выход:

Version 13.0.R7.0 - Built on Tue Feb 09 18:47:29 EST 2016

Я хочу быть в состоянии вытащить 13.0 (позже я .0) с помощью регулярного выражения ^1[0-9]\.0 , и вытащить R7 с помощью R[0-9]{1} .

Я знаю, как их сопоставить, я просто не знаю, как поместить значение, соответствующее регулярному выражению, в переменную, возможно ли такое?

1 ответ1

2

С GNU Bash:

echo 'Version 13.0.R7.0 - Built on Tue Feb 09 18:47:29 EST 2016' | while IFS=" ." read -r a b c d rest; do echo $b $c $d; done

или же

while IFS=" ." read -r a b c d rest; do echo $b $c $d; done < filename

Выход:

13 0 R7

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .