Eu acho que você quer algo assim:
/^[^#]*$PARAM/s/$OLD/$NEW/
substitua $OLD por $NEW , se não houver marca antes de $PARAM
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!
Eu acho que você quer algo assim:
/^[^#]*$PARAM/s/$OLD/$NEW/
substitua $OLD por $NEW , se não houver marca antes de $PARAM
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.
[...]
Tags sed