Uma abordagem é escolher um delimitador diferente além de /
. Por exemplo, usando |
:
sed -ie "s|queue_directory = /var/spool/postfix-secondary|queue_directory = /var/spool/postfix-$newnumber|g" /etc/postfix-$newnumber/main.cf
Outra abordagem é a fuga de barra invertida das outras barras:
sed -ie "s/queue_directory = \/var\/spool\/postfix-secondary/queue_directory = \/var\/spool\/postfix-$newnumber/g" /etc/postfix-$newnumber/main.cf
Mais duas sugestões para seu uso específico. Primeiro, eu não acho que você precise do flag g, a menos que você espere que a substituição apareça várias vezes na mesma linha. Em segundo lugar, se você está apenas tentando alterar uma diretiva, você poderia alterá-la, independentemente do valor anterior. Por exemplo:
sed -ie "s|^queue_directory =.*|queue_directory = /var/spool/postfix-$newnumber|" /etc/postfix-$newnumber/main.cf