搜索模式并删除模式而不影响该行的其余部分

搜索模式并删除模式而不影响该行的其余部分

我需要从文档中删除 3 个字符的子字符串,该子字符串可能位于文档中的任何位置,例如。

text
text
text
bla bla bla -ri bla bla bla
text
text
text

我想搜索 -ri 并将其删除以获得

text
text
text
bla bla bla bla bla bla
text
text
text

如果这是固定的行和字符号,我很确定我可以用 sed 或 cut 切除它,但我不确定如果行和字符位置是可变的,该怎么做。这可能吗?

答案1

您不需要知道行号,您可以sed无条件(尝试)修改每一行:

$ sed -e 's/-ri //' < input > output

如果您有多行匹配,并且只想处理其中的一些,那就会变得更加尴尬。

答案2

sed可以用于这样的任务:

sed 's/-ri //g' path/to/file

将找到所有出现的并使用sed 中的替代操作-ri将其替换为空s

相关内容