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 行的替换发生冲突,则这可能不等同。

相关内容