使用 sed 替换文本行
Replacing line of text cointing using sed
's/document\.querySelector\(\'\.popup\'\)\.classList\.add\(\'active\'\)/document\.querySelector\(\'\.popup\'\)\.classList\.add\(\'noactive\'\)/' design.js
我正在尝试更换
document.querySelector('.popup').classList.add('active')
经过
document.querySelector('.popup').classList.add('noactive')
您可以使用
#!/bin/bash
s="document.querySelector('.popup').classList.add('active')"
sed "s/\(document\.querySelector('\.popup')\.classList\.add('\)\(active')\)/no/g" <<< "$s"
# => document.querySelector('.popup').classList.add('noactive')
见online demo。正则表达式 POSIX BRE 兼容并匹配
\(document\.querySelector('\.popup')\.classList\.add('\)
- 第 1 组 (</code>):文字 <code>document.querySelector('.popup').classList.add('
文本
\(active')\)
- 第 2 组 (</code>):文字 <code>active')
文本。
请注意 POSIX BRE 正则表达式中的捕获组设置为 \(...\)
。文字点需要转义,因为使用双引号文字,反斜杠加倍(不需要转义单引号)。
's/document\.querySelector\(\'\.popup\'\)\.classList\.add\(\'active\'\)/document\.querySelector\(\'\.popup\'\)\.classList\.add\(\'noactive\'\)/' design.js
我正在尝试更换
document.querySelector('.popup').classList.add('active')
经过
document.querySelector('.popup').classList.add('noactive')
您可以使用
#!/bin/bash
s="document.querySelector('.popup').classList.add('active')"
sed "s/\(document\.querySelector('\.popup')\.classList\.add('\)\(active')\)/no/g" <<< "$s"
# => document.querySelector('.popup').classList.add('noactive')
见online demo。正则表达式 POSIX BRE 兼容并匹配
\(document\.querySelector('\.popup')\.classList\.add('\)
- 第 1 组 (</code>):文字 <code>document.querySelector('.popup').classList.add('
文本\(active')\)
- 第 2 组 (</code>):文字 <code>active')
文本。
请注意 POSIX BRE 正则表达式中的捕获组设置为 \(...\)
。文字点需要转义,因为使用双引号文字,反斜杠加倍(不需要转义单引号)。