如何使用Bash在.so文件之后获取版本号?
我已经获得了库的完整路径并提取了名称。像libpcap.so.1.1.1
。现在我需要得到之后的版本号so
; 例如:
libpcap.so.1.1.1 --> 1.1.1
libusb-0.1.so.4.4.4 --> 4.4.4
libpcap.so.1.8.0-PRE-GIT --> 1.8.0
编辑:使用grep的示例代码可以处理前两个示例。但不是第三位。
grep -Eo '[0-9][^[:alpha:]]+$' <<<'libpcap.so.1.5.3'
我不能保证它会碰到每一个极端情况,但是怎么样
grep -Po '\.so\.\K([0-9]+\.)*[0-9]+'
.so.
左侧的文字(使用PCRE\K
修饰符).
请注意,我们不希望$
像原始表达式那样将其锚定在字符串()的末尾,以允许出现诸如-PRE-GIT
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句