小编Bra*_*n K的帖子

如何在sed中用特殊字符替换变量字符串

我开始使用 sed 来替换文件中的文本,以便更轻松地批量更改文件的内容,并且我将每个值都需要设置为带有 BASH 的变量,并将替换为调用所有变量的函数替换现有文本。例子~

sed -i -e "s/$answer/$FORME $answer/g" ~$answer.txt
Run Code Online (Sandbox Code Playgroud)

$answer 是终端中命令的变量输入。$FORME 是根据 $answer 的输入定义的变量,但是 $FORME 包含“/”,我一直在网上浏览,找不到使用包含特殊字符的变量替换的方法。当我尝试在 $answer 上使用创建带有特殊字符的 $FORME 的命令时,会显示此错误:

sed: -e expression #1, char 15: unknown option to `s'
Run Code Online (Sandbox Code Playgroud)

我假设这意味着 $FORME 中的特殊字符被注册为实际命令的一部分,而不是要替换的字符串。请帮忙!

提前致谢!

terminal sed

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

sed ×1

terminal ×1