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

时间:2019-02-23 14:36:58

标签: bash shell sed vagrant vagrantfile

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

--with-mpm=event \

排在第httpd.spec的第138位。

我尝试过:

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

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

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

--with-mpm=event 

虽然可以直接在虚拟机的shell中运行它。

如何使用sed进行修复?

谢谢!

1 个答案:

答案 0 :(得分:2)

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

在这种情况下,此处的文字反斜杠需要使用四个反斜杠进行编码:

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