我正在尝试替换此末尾的数字:文件version=12
中包含的config.file
这是我的剧本:
nbr=13
sed -re "s/version=\d+/$nbr/g" config.file
正则表达式似乎没有检测到数字。
有人有任何想法吗?
答案 0 :(得分:3)
您可以使用
nbr=13
sed -re "s/(version=)[0-9]+/\1$nbr/g" config.file
请参阅online demo
即使您使用的是ERE POSIX正则表达式(使用-r
启用),您仍然无法使用类似\d
数字模式的PCRE。
此外,我在(version=)
周围添加了一个捕获组,以便能够使用\1
反向引用在替换部分中恢复它。