Como faço para comentar linhas no fstab usando sed?

0

Eu quero comentar algumas linhas no comando fstab using sed . A seguir, as linhas que preciso comentar:

172.0.0.1:/export/project/common /nfs/share nfs4 rw,bg,hard,nointr,rsize=131072,wsize=131072,proto=tcp
172.0.0.1:/export/project/share1 /nfs/shares1 nfs4 rw,bg,hard,nointr,rsize=131072,wsize=131072,proto=tcp

Eu tentei usar este comando, mas não funcionou:

sed -i '/172.0.0.1:/export/project/common /nfs/share nfs4 rw,bg,hard,nointr,rsize=131072,wsize=131072,proto=tcp /s/^/#/' /etc/fstab_test
sed -i '/172.0.0.1:/export/project/share1 /nfs/shares1 nfs4 rw,bg,hard,nointr,rsize=131072,wsize=131072,proto=tcp /s/^/#/' /etc/fstab_test
    
por NetMonkey2040 13.07.2016 / 05:43

1 resposta

1

Tente isso,

sed -e '/[/]/common s/^/#/' /etc/fstab e sed -e '/[/]/share1 s/^/#/' /etc/fstab

Especificar isso /[/]common/ selecionará apenas as linhas que contenham / common.

Se isso funcionar, substitua -e por -i para executar a alteração no arquivo.

Você pode fazer isso com awk

awk '/[/]common/{$0="#"$0} 1' /etc/fstab >/etc/fstab.tmp && mv /etc/fstab.tmp /etc/fstab 
awk '/[/]share1/{$0="#"$0} 1' /etc/fstab >/etc/fstab.tmp && mv /etc/fstab.tmp /etc/fstab 

Especificar isso /[/]common/ {$0="#"$0} escolherá as linhas que contêm / common e colocará um # no início da linha.

    
por 13.07.2016 / 05:58

Tags