为 sed 转义文字字符串

为 sed 转义文字字符串

如何转义文字字符串/bin/bash #!/bin/bash在 sed 表达式中?目前我在 bash 脚本中有一个命令,格式如下

sed 's/Parametersettings:/HERE/g' outpad1 > outpad2

我希望转义的替换项可以到达上面此处所写的位置。

我已经尝试了各种 / \ 和 $变量,但到目前为止都没有成功。

答案1

$ echo 'Parametersettings:' | sed 's/Parametersettings:/#!\/bin\/bash/g'
#!/bin/bash

或者使用不同的分隔符,避免转义字符/

$ echo 'Parametersettings:' | sed 's%Parametersettings:%#!/bin/bash%g'
#!/bin/bash

答案2

通过用单引号 (" ") 引用字符串'',可以防止 shell 进行插值。使用双引号 ( ""),shell 将替换变量等。

sed "s/Parametersettings:/$HERE/g" outpad1 > outpad2

相关内容