为什么显示sed命令行显示"命令后的额外字符"错误?

Riy*_*s S 6 sql linux shell sed

我已经给出了如下所示的命令行,

命令:

sed '/dump 0 $2 $3 $4 $5/dump 1 $2 $3 $4 $5/g' base_file.properties
Run Code Online (Sandbox Code Playgroud)

错误显示

sed:-e表达式#1,字符22:命令后的额外字符

把"s"选项作为

 sed 's/dump 0 $2 $3 $4 $5/dump 1 $2 $3 $4 $5/g' base_file.properties
Run Code Online (Sandbox Code Playgroud)

错误显示为

sed:-e expression#1,char 32:`s'的未知选项

dev*_*ull 5

似乎有些变量正在扩展到包含a的值/.使用不包含在任何变量中的不同分隔符,例如

sed 's@dump 0 $2 $3 $4 $5@dump 1 $2 $3 $4 $5@g' base_file.properties
Run Code Online (Sandbox Code Playgroud)

(您的第一个命令不是有效的sed表达式.)