如何删除以相同字符开头的行?

时间:2014-04-17 16:42:38

标签: bash

我试图通过删除没有内容的标题来清理别人脚本的输出。

输出目前看起来像这样:

====== Header1 ======
====== Header2 ======
====== Header3 ======
information

我试图删除Header1和Header2的行,但不删除Header3。我找到了一个awk命令,它删除了所有重复的行,但最后一个以相同的字符开头,这样就有助于解决这个问题,但是当这些信息出现问题时会引发新的问题。 bit是许多行,也以相同的字符开头(通常是制表符)。

清理后所需的输出:

====== Header3 ======
information

由于

1 个答案:

答案 0 :(得分:1)

这个awk可能适合你:

$ awk '/^===/{h=$0;p=0;next}!p{print h};{p=1}1' file
====== Header3 ======
information

或正如格伦指出的那样,这也有效:

awk '/^===/{h=$0;next}h{print h;h=0}1' file