【发布时间】:2013-08-06 22:52:05
【问题描述】:
我发现了很多使用 sed/grep 能够删除文本文件中的特定行的示例,但我希望能够删除该行以及紧接其上方的行。关于我应该从哪里开始的任何想法?
我试过 sed '/pattern/d' ./file 只删除特定的行。
【问题讨论】:
-
没有尝试过,这里有一个建议:将上一行合并到您的模式中,类似于
^.*\noriginalpattern的内容 - 并删除整个内容。
我发现了很多使用 sed/grep 能够删除文本文件中的特定行的示例,但我希望能够删除该行以及紧接其上方的行。关于我应该从哪里开始的任何想法?
我试过 sed '/pattern/d' ./file 只删除特定的行。
【问题讨论】:
^.*\noriginalpattern 的内容 - 并删除整个内容。
这可能对你有用(GNU sed):
sed '$!N;/\nPATTERN/d;P;D' file
这会在模式空间中保留 2 行,如果第二行包含模式,则删除两者。
【讨论】: