1

以下のように、バージョン範囲 1.6,1.7 を 1.7,1.8 に置き換えようとしています。

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 に答える