Respondendo a mim mesmo, bastou entender que há um metacaractere para sed "|"

  sed -i "s|^${squid_line_to_remark}.*|#${squid_line_to_remark}|" $squid_file
  sed -i "s|^#${squid_line_to_unremark}.*|${squid_line_to_unremark}|"
$squid_file

Pronto. problema resolvido.

Em 17 de junho de 2010 11:48, hamacker <[email protected]> escreveu:
> Eu tenho num script a sguinte instrucao :
>  sed -i s/^\""$squid_line_to_remark"\"/^\"#"$squid_line_to_remark"\"/g
> $squid_file
>  sed -i s/^\"#"$squid_line_to_unremark"\"/^\""$squid_line_to_unremark"\"/g
> $squid_file
>
> que produz o seguinte resultado :
>
> sed -i s/^"include /etc/squid3/squid.conf.rules"/^"#include
> /etc/squid3/squid.conf.rules"/g /etc/squid3/squid.conf
> sed -i s/^"#include /etc/squid3/squid.conf.rules.free"/^"include
> /etc/squid3/squid.conf.rules.free"/g /etc/squid3/squid.conf
>
> Onde o erro é :
> sed: -e expressão #1, caractere 18: Opção desconhecida para o comando
> `s' (s///?)
> sed: -e expressão #1, caractere 19: Opção desconhecida para o comando
> `s' (s///?)
>
> Objetivo é simplesmente trocar uma linha existente num arquivo de
> configuracao pela mesma linha acrescida "#" no começo da linha e a
> linha de baixo faz o inverso.
>

-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a