加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 从字符串中提取版本号

发布时间:2020-12-15 18:58:21 所属栏目:安全 来源:网络整理
导读:我有一个包含组件和版本号的字符串: 数据-C(KUH-small1);除法器 – 滨1.4.4;除法器 – CONF-1.3.3-W(1,16);存储彬1.5.4;存储CONF-1.5.0-W( 1);工人彬4.5.1;工人CONF-4.4.1-C(KUH)-win2 对于shell脚本,我需要提取分隔符二进制文件的版本号.所以我需要屈服:
我有一个包含组件和版本号的字符串:

数据-C(KUH-small1);除法器 – 滨1.4.4;除法器 – CONF-1.3.3-W(1,16);存储彬1.5.4;存储CONF-1.5.0-W( 1);工人彬4.5.1;工人CONF-4.4.1-C(KUH)-win2

对于shell脚本,我需要提取分隔符二进制文件的版本号.所以我需要屈服:

1.4.4

这样做有什么好办法?用sed?

在 Kent’s answers之后,这可以工作:
grep -Po '(?<=divider-bin-)d.d.d'

甚至更好:

grep -Po '(?<=divider-bin-)[^;]+'

它从divider-bin中掠过 – 直到它找到;字符.这样任何NNN.NNN. …… NNN格式将起作用(无论NN有多少块).

测试:

$echo "data-c(kuh-small1);divider-bin-1.4.4;divider-conf-1.3.3-w(1,16);storage-bin-1.5.4;storage-conf-1.5.0-w(1);worker-bin-4.5.1;worker-conf-4.4.1-c(kuh)-win2" | grep -Po '(?<=divider-bin-)[^;]+'
1.4.4
$echo "data-c(kuh-small1);divider-bin-1.4;divider-conf-1.3.3-w(1,16);storage-bin-1.5.4;storage-conf-1.5.0-w(1);worker-bin-4.5.1;worker-conf-4.4.1-c(kuh)-win2" | grep -Po '(?<=divider-bin-)[^;]+'
1.4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读