CentOS使用sed不能正常插入新的文本行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS使用sed不能正常插入新的文本行相关的知识,希望对你有一定的参考价值。
我正在尝试插入一行文本;
include /etc/nginx/sites-enabled/*;
在下一行之后的话;
for more information.
在我的/etc/nginx/nginx.conf中使用以下命令
sudo sed '/for more information.'/a include /etc/nginx/sites-enabled/*;' /etc/nginx/nginx.conf
但每次我运行它,它只是返回
>
我不太喜欢这种东西,所以我希望有人可以帮助我。
干杯,
答案
删除第二个单引号。这是多余的:
sudo sed '/for more information./a include /etc/nginx/sites-enabled/*;' /etc/nginx/nginx.conf
此外,因为.
匹配任何字符,你可能希望它只匹配一个句点,所以像这样逃避它:
sudo sed '/for more information./a include /etc/nginx/sites-enabled/*;' /etc/nginx/nginx.conf
或这个:
sudo sed '/for more information[.]/a include /etc/nginx/sites-enabled/*;' /etc/nginx/nginx.conf
另一答案
你的'
命令中有一个虚假的sed
。相反,你需要:
sudo sed -i '/for more information./a include /etc/nginx/nginx.conf'
/etc/nginx/nginx.conf
(参见约翰斯的答案,因为如果有可能存在线路,.
应该被逃脱,例如"for more information.stuff"
在关闭.
之后提供信息)
您还应该添加-i
选项来编辑/etc/nginx/nginx.conf
。
以上是关于CentOS使用sed不能正常插入新的文本行的主要内容,如果未能解决你的问题,请参考以下文章