fstabでsedを使用して行をコメントアウトする方法は?

fstabでsedを使用して行をコメントアウトする方法は?

fstabコマンドを使用するsedときは、いくつかの行にコメントを付けたいと思います。私がコメントする必要があるいくつかの行は次のとおりです。

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

このコマンドを試しましたが、うまくいきません。

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

ベストアンサー1

この試み、

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

これを指定すると、/[/]common// commonを含む行のみが選択されます。

機能している場合は、ファイルを変更するにはに置き換え-eます。-i

あなたはこれを行うことができます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 

これを指定すると、/[/]common/ {$0="#"$0}/ commonを含む行が選択され、行の先頭に#が配置されます。

おすすめ記事