sed - ブロック内で外部一致を参照する方法は?

sed - ブロック内で外部一致を参照する方法は?

たとえば、

次のsedセクションがあります。

36   sed $'
37   /^waitForVisible/ {
38       s/this/& and that/
39     s/waitForVisible/expect/
40     s/)$/).to be_visible\\\n/
41   }

38行&の単語に置き換えるthis(一致)

行39と同様の操作を実行できますが、この場合、行37のブロックで見つかった一致を使用できますか(waitForVisible特殊文字で置き換えるなど)。

答え1

そうそうできます。 39を38に変更すると、空のマッチング表現の意味を活用できます。過去のゲームを繰り返す:

36   sed $'
37   /^waitForVisible/ {
39     s//expect/
38       s/this/& and that/
40     s/)$/).to be_visible\\\n/
41   }

明らかに、38行と39行の置換が衝突する場合、これは同じではない可能性があります。

関連情報