gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:02:01 29 4
gpt4 key购买 nike

我有一个包含组件和版本号的字符串:

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

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

1.4.4

执行此操作的好方法是什么?用 sed 吗?

最佳答案

正在关注 Kent's answers ,这可以工作:

grep -Po '(?<=divider-bin-)\d.\d.\d'

甚至更好:

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

它从 divider-bin- 开始搜索,直到找到 ; 字符。这样任何 NNN.NNN。 …… NNN 格式将起作用(无论有多少 block 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

关于bash - 从字符串中提取版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817646/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com