SED / AWK / PERL (GNU userland) - как заменить шаблон A, но не шаблон B?

1

Во-первых, я использую GNU userland, поэтому вы можете предположить, что я использую 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
user1794469
источник
Большое спасибо! Название этой темы не «grep-friendly» ...
Алекс Вонг