7

バグですか...それとも説明はありますか?

私は回避策を探しているのではなく、なぜ-irandの順序が-ri重要なのかを探していることに注意してください...


ファイルに保存されている次のデータを想像してくださいdata.txt

1, StringString, AnotherString 545
2, StringString, AnotherString 723
3, StringString, AnotherString 610
4, StringString, AnotherString 118
5, StringString, AnotherString 482

目的の文字列変換

Replace "StringString" with "Strung"

次のコードで

sed -ir 's/String+/Strung/g' data.txt <-- won't work

sed -ri 's/String+/Strung/g' data.txt <-- will work

オプション フラグの順序が重要になる理由がわかりません。説明はありますか?

補足: スイッチ-iは「ファイルをその場で編集」しますが、-r は「拡張正規表現」を許可します (+オペレーターを許可します)。Ubuntu 12.10 で sed 4.2.1 Dec. 2010 を実行しています。

4

2 に答える 2

5

sed --help または man sedを確認しましたか?

  -i[SUFFIX], --in-place[=SUFFIX]
                 edit files in place (makes backup if extension supplied).
                 The default operation mode is to break symbolic and hard links.
                 This can be changed with --follow-symlinks and --copy.
于 2013-07-08T11:27:14.677 に答える