【发布时间】:2019-04-24 20:05:28
【问题描述】:
我想根据下一行的模式匹配删除上一行和当前行
这是我的示例.txt
This is test line 11
This is test line 999
This is test line 12
This is test line 13
This is test line 16
This is test line 999
This is test line 17
This is test line 18
我想匹配模式 999 并删除自身和上一行
我正在尝试这个命令,但我没有得到任何输出
sed -Ene ':a;N;/999/{d;}; ba; P' sample.txt
【问题讨论】:
-
sed 是对单个字符串执行
s/old/new/的最佳工具。这不是你在这里所做的,所以 sed 不会是完成这项工作的最佳工具,所以当它可以做得更清晰、更简单、更健壮、更便携和/或更有效时,为什么还要使用 sed用其他工具?您应该包括一个案例,其中999出现在您输入的第一行,并出现在 3 个连续的行中,以显示您希望如何处理这些内容,并为我们提供一些东西来充分测试潜在的解决方案。 -
我认为这是一个很好的问题@rgd。
标签: sed