我正在尝试从冒号分隔列表中提取版本。我想要的值是 foo ,但列表中还有另一个名为 foo-bar 的值,要返回的值。这就是我在做的事情:
LIST="foo:1.0.0
foo-bar:1.0.1"
VERSION=$(echo "${LIST}" | grep "\bfoo\b" | cut -s -d':' -f2)
echo -e "VERSION: ${VERSION}"
输出:
VERSION: 1.0.0
1.0.1
注意:有时LIST会如下所示,这会导致版本为空(这是预期的)。
LIST="foo
foo-bar:1.0.1"
答案 0 :(得分:1)
答案 1 :(得分:0)
此正则表达式应在每行末尾提取任意数量的数字和可选的点。如果该行以冒号结尾,则将不匹配。
grep -oE '(([[:digit:]]+[.]*)+)$