Tôi muốn thay đổi dòng "vô hiệu hóa = có" thành "vô hiệu hóa = không" thành tập tin sau:
[root@centos2 ~]# cat /etc/xinetd.d/tftp
service tftp
{
...
server_args = -s /var/lib/tftpboot
disable = yes
per_source = 11
...
}
Tôi đã thử điều này:
[root@centos2 ~]# grep 'disable = yes' /etc/xinetd.d/tftp
[root@centos2 ~]#
bằng cách chỉ sao chép không gian bằng chuột của tôi nhưng nó không grep gì cả ...
Tại sao và làm thế nào tôi có thể biết các yếu tố giữa "vô hiệu hóa" và "=" là gì? Có phải là một vài không gian? lập bảng?
Tôi biết tôi có thể grep bằng cách sử dụng regex sau:
[root@centos2 xinetd.d]# grep -E 'disable.+= yes' /etc/xinetd.d/tftp
disable = yes
[root@centos2 xinetd.d]#
Và cuối cùng, có cách nào tốt hơn để thay thế "có" bằng "không" bằng cách sử dụng sed hơn sau:
[root@centos2 xinetd.d]# sed -r 's/disable.+= yes/disable =
no/g' /etc/xinetd.d/tftp
service tftp
{
...
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
...
}
BIÊN TẬP :
Kết quả của lệnh od cảm ơn @ilkkachu
[root@centos2 xinetd.d]# < /etc/xinetd.d/tftp grep disable | od -c
0000000 \t d i s a b l e
0000020 = y e s \n
0000037