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이 포함된 행이 선택되고 행 시작 부분에 #이 배치됩니다.