如何从文件中删除重复的文本?

sub*_*odh 1 linux sed

我尝试使用以下命令删除 tect

sed -i -e 's/<check-valid-connection-sql>select 1</check-valid-connection-sql>//g' standalone.xml
Run Code Online (Sandbox Code Playgroud)

但它向我展示了错误

sed:-e 表达式 #1,字符 69:`s' 的未知选项

有人可以指导是什么问题吗?

gro*_*taj 7

后面的第一个字符s用作分隔符。您选择了/,因此正确的命令是:

s/search/replace/flags

问题是你有额外/search部分:

<check-valid-connection-sql>select 1</check-valid-connection-sql>
                                     ^
Run Code Online (Sandbox Code Playgroud)

所以 sed 像这样解析它:

Search:   <check-valid-connection-sql>select 1<
Replace:  check-valid-connection-sql>
Flags:    /g
Run Code Online (Sandbox Code Playgroud)

并且/不是正确的标志。

使用不同的分隔符来解决这个问题:

s#<check-valid-connection-sql>select 1</check-valid-connection-sql>##g
Run Code Online (Sandbox Code Playgroud)