如何使用 uniq 删除重复行块?

rhe*_*heo 2 uniq

无论如何要使用uniq(或类似的)来过滤/删除日志类型输出中的重复行集?我正在调试一个 MPI 代码,其中多个处理器经常打印相同的精确输出。uniq当输出为一行时效果很好,但代码经常会生成多行。下面是一个例子:

calling config()
calling config()
calling config()
running main loop
  time=0
running main loop
  time=0
running main loop
  time=0
output from Rank 0
Run Code Online (Sandbox Code Playgroud)

使用uniq(无选项)过滤为:

calling config()
running main loop
  time=0
running main loop
  time=0
running main loop
  time=0
output from Rank 0
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来过滤 n 行块?我已经阅读并重新阅读了联机帮助页,但找不到任何明显的内容。谢谢!

更新:我希望输出将重复的块压缩为一个条目,因此在上面的示例中:

calling config()
running main loop
  time=0
output from Rank 0
Run Code Online (Sandbox Code Playgroud)

Hau*_*ing 5

$ awk '!a[$0]++' file
calling config()
running main loop
  time=0
output from Rank 0
Run Code Online (Sandbox Code Playgroud)