我开始使用 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 中的特殊字符被注册为实际命令的一部分,而不是要替换的字符串。请帮忙!
提前致谢!