0

sed で次のコマンドを使用しています。sed s/1[^\.]/2/g test

ポイントが続くものを除いて、すべての1を2に置き換えたい。それは正常に動作します。

しかし、私のファイルには、に{{1e}}置き換えられた があり{{2}}ます。

sed が を削除するのはなぜeですか?

PS: 私は正規表現の初心者なので、明らかな間違いかもしれません。

4

1 に答える 1

3

の後に文字をキャプチャし、の後1に再度挿入し2ます。

sed 's/1\([^.]\)/2\1/g' test

唯一の問題は1、行末にあります。で置き換えることができ2ます

s/1$/2/
于 2012-09-18T13:32:06.707 に答える