使用 sed 命令在文件中添加带反斜杠的字符串

Add string with backslash in file using sed command

我需要添加一个文本字符串:

--with-mpm=event \

到第 138 位 httpd.spec

我试过了:

sed -i '138i--with-mpm=event \' /root/rpmbuild/SPECS/httpd.spec

此代码在引导虚拟机期间在 Vagrantfile 的 bash 脚本中运行。但是,脚本returns错误。

当我检查 httpd.spec 时,输出是一个缺少反斜杠的字符串:

--with-mpm=event 

它工作正常 运行 它直接在 shell 虚拟机中运行。

如何使用 sed 修复它?

谢谢!

处理反斜杠的经验法则是不断增加反斜杠,直到获得预期结果。

在这种情况下,这里的文字反斜杠需要用四个反斜杠编码:

sed -i '138i--with-mpm=event \\' /root/rpmbuild/SPECS/httpd.spec