使用带有特殊字符的 sed

Edg*_*ase 2 sed

我有一个充满 XML 文件的目录,看起来像这样,我想将“偏移量”元素编号的值从 1 更改为其他数字

$ cat my.xml
      <offset xmlns="">1</offset>
Run Code Online (Sandbox Code Playgroud)

我写了这个 sed 命令的各种组合,但我尝试过的任何东西都没有错误地运行。我很确定我需要转义一些字符,但是我尝试过的那些字符总是以错误结尾(“意外标记”、“未知选项”等)。我也试过没有 -e 标志,因为它真的不是一个表达式。

sed -i -e s/<offset xmlns="">1</offset>/<offset xmlns="">99</offset>/ *.xml
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

Ark*_*zyk 7

您不需要/在 sed 中使用,您可以使用逗号,例如:

sed -i 's,<offset xmlns="">1</offset>,NEW_TEXT,' FILE
Run Code Online (Sandbox Code Playgroud)