我正在学习shell的sed。 我尝试下面的代码,如何通过sed删除一行中的第N个目标单词(='remove_mark')?
echo "one tworemove_markthree fourremove_markfive" | sed -E "s?(.*)remove_mark(.*)?\1\2?"
我预期的这个输出是
one twothree fourremove_markfive
但上面的代码的输出以下,
one tworemove_markthree fourfive
第一remove_mark被保持,但第二个被删除。 但是我想删除第一个。怎么做?以及如何删除所有匹配的目标词?非常感谢你。
似乎你的标题不会与您的问题匹配 - 你要删除哪个字,即是你的期望的输出?如有必要,请[编辑]您的问题以向我们确切显示您想要的内容并更改标题。 –