![fstab에서 sed를 사용하여 줄을 주석 처리하는 방법은 무엇입니까?](https://linux55.com/image/90334/fstab%EC%97%90%EC%84%9C%20sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%A4%84%EC%9D%84%20%EC%A3%BC%EC%84%9D%20%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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이 포함된 행이 선택되고 행 시작 부분에 #이 배치됩니다.