SED / AWK / PERL (userland GNU) - como substituir o padrão A mas não o padrão B?

1

Primeiro, estou usando o GNU userland para que você possa assumir que eu uso Bash, GNU coreutils ...

Eu tenho um HTML e quero mudar tudo

href="foobarz"

em

href=""

No entanto, não quero alterar nenhuma linha que contenha a palavra css (não diferencia maiúsculas de minúsculas)

'href="fooCsSbarz"'

deve permanecer inalterado

No momento, estou usando o comando

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

mas não pode reter as linhas que contêm a palavra css (não diferencia maiúsculas de minúsculas)

Na verdade, qualquer ferramenta disponível no * nix é bem-vinda, como sed, awk, perl ...

Obrigado pela sua ajuda!

    
por Alex Vong 08.04.2015 / 04:32

1 resposta

1

Em aqui .

Você pode usar:

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

Tags