我正在编写一个 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
使用 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