Aks*_*hah 3 regex unix awk grep sed
如果我有如下字符串: DATABASE PATCH FOR EORQ (JAN2014 - 11.2.0.4.1)
我该如何匹配版本号?即我想摘录11.2.0.4.1。我想避免使用sed和awk,因为该行是任意的,并且将来可能会更改,所以我正在寻找与包含数字和的版本词匹配.的内容。
我尝试如下使用egrep:egrep -o "[0-9.]{1,}"但是它返回
2014
11.2.0.4.3
Run Code Online (Sandbox Code Playgroud)
谢谢!
您可能可以使用:
$ egrep -o "([0-9]{1,}\.)+[0-9]{1,}" file
11.2.0.4.1
Run Code Online (Sandbox Code Playgroud)
([0-9]{1,}\.)+匹配的至少一个块[0-9]{1,}和一个点.。[0-9]{1,}匹配一个块[0-9]。因此,它将匹配的任何块XX.YY,为的XX任何数量的块,ZZ.KK.TT.依此类推。