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

标签 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 修复它?

谢谢!

最佳答案

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

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

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

关于bash - 使用 sed 命令在文件中添加带反斜杠的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54842698/

相关文章:

mysql - 如何将 bash 和 mysql 与 while 和输出一起使用

Python-Fab 不从文件读取值

linux - 将列添加到文件末尾

bash - 如何在双引号内的命令中嵌入变量?

regex - sed 查找并替换 fastq 正则表达式

bash - 找出脚本需要的 BASH 版本

shell - Cygwin 终端提示丢失

c - 具有间接输入的简单 shell

xml - 如何提取两个字符串之间的子字符串,包括匹配/封闭的字符串?

bash - egrep 结果到 vim 作为行引用的文件列表