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

3

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

--with-mpm=event \

位于138位置的是httpd.spec

我尝试过:

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

这段代码在虚拟机引导过程中的 Vagrantfile 的 bash 脚本中运行。然而,该脚本返回错误。
当我检查 httpd.spec 时,输出的字符串缺少反斜杠。
--with-mpm=event 

尽管在虚拟机的shell中直接运行它可以正常工作。

我如何使用sed修复它?

谢谢!


3
通常情况下,尝试添加反斜杠直到你得到它们。\\\\\\\ - Wiktor Stribiżew
谢谢,我在代码中添加了两个反斜杠,问题得到了解决。这很有帮助。我可以把你的答案记下来,对吧! - ERemarque
1个回答

2

在处理反斜杠时,一个经验法则是不断添加反斜杠直到获得预期结果。

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

最初的回答:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接