sed como ignorar linhas comentadas

1

Eu tenho o seguinte comando sed no meu script

sed -i "/$PARAM/s/$OLD/$BEW/g"           $FILE

este comando sed substitui o valor OLD por novo na linha que o PARAMETER exsit

mas também preciso ignorar as linhas "#"
como é possível alterar a sintaxe do sed para ignorar as linhas "#"? a solução deve ser apenas com sed não por perl!

    
por yael 27.05.2010 / 14:47

2 respostas

3

Eu acho que você quer algo assim:

/^[^#]*$PARAM/s/$OLD/$NEW/

substitua $OLD por $NEW , se não houver marca antes de $PARAM

    
por 27.05.2010 / 15:48
1

O comando b (branch) deve ajudar:

/^#/b; /$PARAM/ s/$OLD/$NEW/g

Do manual de sed :

        b label
              Branch to label; if label is omitted, branch to end of script.

        [...]
    
por 27.05.2010 / 15:04

Tags