小编Vis*_*air的帖子

sed 命令返回“sed:替换表达式中的错误选项”

例如:- 我有一个名为 file.txt 的文件

$ cat file.txt
$key
Run Code Online (Sandbox Code Playgroud)

我有一个环境变量,例如:文本文件中的 $key

让我们说 $key = 1234,所以我可以用下面的命令替换该值

sed -i 's/$key/'"$key"'/' file.txt 
Run Code Online (Sandbox Code Playgroud)

它变成

$ cat file.txt
1234
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果值

$key = 1/2/3/4
Run Code Online (Sandbox Code Playgroud)

我无法运行以下命令

sed -i 's/$key/'"$key"'/' file.txt  
Run Code Online (Sandbox Code Playgroud)

它会报错

sed: bad option in substitution expression
Run Code Online (Sandbox Code Playgroud)

因为斜线它正在打破。我可以通过直接给出值来解决它,但我不想以这种方式使用它。

sed -i 's/$key/1\/2\/3\/4/' file.txt 
Run Code Online (Sandbox Code Playgroud)

linux script bash sed command-line

0
推荐指数
1
解决办法
5492
查看次数

标签 统计

bash ×1

command-line ×1

linux ×1

script ×1

sed ×1