1

我正在尝试用 1.7,1.8 替换版本范围 1.6,1.7,如下所示。

sed -i 's/version\>[1.6,1.7)/version\>[1.7,1.8)/g'

我试过转义 [,),。等等,但它仍然不匹配 [1.6,1.7)

我错过了什么?

这是我运行以替换版本的完整命令:

find . -iname 'pom.xml' -print -exec sed -i 's/version\>\[1.6,1.7)/version\>[1.7,1.8)/g' {} \;

GNU sed 版本 4.1.5

Linux * * 2.6.18-238 #1 SMP Fri Oct 28 08:42:39 PDT 2011 x86_64

更新:

sed -i 's/version\>.*1.6,1.7)/version\>[1.7,1.8)/g' 

为我工作。但这仍然太笼统。

4

1 回答 1

0

我不完全明白。你想匹配什么字符串?如果是version>[1.6,1.7),则此替换应该有效:

s/version>\[1\.6,1\.7)/version>[1.7,1.8)/g

不需要转义>,但你应该转义[和点,因为它们具有特殊含义。

于 2012-08-30T09:21:35.903 回答