SED/AWK/PERL(GNU 用户空间)-如何替换模式 A 但不替换模式 B?

SED/AWK/PERL(GNU 用户空间)-如何替换模式 A 但不替换模式 B?

首先,我使用 GNU 用户空间,因此您可以假设我使用 Bash、GNU coreutils...

我有一个 HTML,我想更改所有内容

href="foobarz"

进入

href=""

但是,我不想更改任何包含单词css(不区分大小写)的行

'href="fooCsSbarz"'

应该保持不变

我目前正在使用命令

$ cat foo.html | sed -e 's/href="[^"]*"/href=""/g' > bar.html

但它不能保留包含单词css(不区分大小写)的行

实际上,*nix 中提供的任何工具都受到欢迎,例如 sed、awk、perl……

感谢您的帮助!

答案1

这里

您可以使用:

sed '/[Cc][Ss][Ss]/! s/href="[^"]*"/href=""/g' foo.html > bar.html

相关内容