我正在尝试使用sed命令删除模式"></"
和"/>"
sed -i '/\/>/d' $1 --> Works fine
sed -i '/>/</\//d' $1 --> Error=> sed: -e expression #1, char 4: unknown command: `<'
有人可以为第二个推荐一个解决方案吗?
如果我可以在一个sed命令中组合两个模式检查?
答案 0 :(得分:2)
要删除包含您可以执行的模式的行:
$ grep -ve '></' -e '/>' file
1
2
3
或者只删除模式:
$ sed -r 's%(></)|(/>)%%g' file
1
and
2
3
foo bar
输入文件为:
$ cat file
1
></ and />
2
></
3
foo /> bar
答案 1 :(得分:0)
尝试以下方法:
sed -i '#></|/>#d' $1
您应该考虑使用与/
不同的分隔符,例如在搜索模式中有#
时/
答案 2 :(得分:0)
最后,让它运作起来。代码如下。 sed -i'//&gt; / d'$ 1 sed -i'/&gt;&lt; // d'$ 1 谢谢大家。
答案 3 :(得分:0)
你可以尝试一下吗?我发现他工作正常
sed -i '/><\//d';/\/>/d' $1
它会删除包含></
和/>
的所有行。
答案 4 :(得分:0)
这可能对您有用:
sed -i -e '\#></#d' -e '\#/>#d' file