sed escape / var / run / saslauthd [duplicado]

0

Desejo remover esta linha de fstab usando sed :

/var/run/saslauthd /export/sasl none bind 0 0

Eu conheço uma solução alternativa, primeiro forneço o número da linha, em seguida, remova-o com sed , mas eu quero saber como escapar dos três / ?

Eu tentei muito, mas nenhum desses trabalhos:

sed  /^/var/run/saslauthd/d /etc/fstab
sed  /^\/var\/run\/saslauthd/d /etc/fstab
sed  /^"/var\/run\/saslauthd"/d /etc/fstab
sed  ^"/var\/run\/saslauthd"/d /etc/fstab
sed  ^"/var/run/saslauthd"/d /etc/fstab
sed  ^/var/run/saslauthd:d /etc/fstab
sed  :^/var/run/saslauthd:d /etc/fstab
sed  :^"/var/run/saslauthd":d /etc/fstab
sed  :^\/var\/run\/saslauthd":d /etc/fstab
sed  :^\/var\/run\/saslauthd:d /etc/fstab
sed  :^//var/run/saslauthd:d /etc/fstab
sed  ^//var/run/saslauthd:d /etc/fstab
    
por elbarna 12.05.2015 / 16:37

1 resposta

1

Embora seja tradicional usar / como o delimitador em uma expressão sed , você pode usar o que quiser. Então, se você tem / no padrão que você está combinando, geralmente é mais fácil usar outra coisa, eu normalmente escolho , , mas pode ser praticamente qualquer coisa. Para usar algo diferente de / , talvez seja necessário escapar dela. Por exemplo:

sed -e '\,^/var/run/saslauthd,d' /etc/fstab

Você provavelmente poderia fazer o mesmo com o primeiro, em que você tem um : se usar \: .

    
por 12.05.2015 / 16:50

Tags