sed - 匹配后删除到行尾,保留不匹配的行

标签 sed line string-matching

我有以下形式的文件:

interesting text-MIB blah blah blah
VERY INTERESTING TEXT
interesting text-MIB blah blah blah

在包含“-MIB”字符串的每一行中,我想删除此字符串后面的文本,直到行尾。

以下命令似乎按预期工作:
sed -i -n -e 's/-MIB.*$/-MIB/p' ./myfile

我的问题是它还会删除找不到我的模式的行。在这里,“非常有趣的文本”行将被删除。我对 sed 不是很熟悉。我究竟做错了什么? sed 适合这种治疗吗?

最佳答案

关于sed - 匹配后删除到行尾,保留不匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17297054/

相关文章:

java - 如果标签包含目标,则标签之间的正则表达式匹配

sed - 如何将文件的一部分移动到末尾

linux - SED 空格/换行符匹配 - Linux

linux - 如何在 Linux 中用空格替换前导零?

android - 如何在 <string> XML (eclipse/android) 中创建一个新行或标签?

c++ - 如何画一条宽度可变的线?

html - 与每个 div 下面的 css 对齐

c++ - 匹配不区分大小写的整个字符串

正则表达式匹配具有特定属性的 html 标签

linux - unix sed 命令中的陈旧文件句柄