【发布时间】:2016-11-24 22:57:55
【问题描述】:
我有以下字符串 libVersion = '1.23.45.6',我需要将 1.23.45.6 替换为 1.23.45.7。
显然版本可以是任何具有类似格式的数字(不一定是 4 个数字)。
我尝试使用以下但不起作用
echo "libVersion = '1.23.45.6'" |sed "s/([0-9\.]+)/1.23.45.7/g"
【问题讨论】:
-
echo "libVersion = '1.23.45.6'" |sed "s/[0-9.]\+/1.23.45.7/g" -
或
echo "libVersion = '1.23.45.6'" |sed "s/'[^']*'/'1.23.45.7'/g" -
宾果游戏!!!请把它放在答案中,以便我标记为正确答案
-
实际上,您可以在正则表达式 (
sed -E "s/([0-9.]+)/1.23.45.7/") 中使用E选项。但是,如果您想替换一次,/g是多余的,而(...)是多余的,因为您没有使用捕获的值。我会使用sed -E "s/[0-9.]+/1.23.45.7/"。