uniqを使用して重複行ブロックを削除するには?

uniqを使用して重複行ブロックを削除するには?

uniqログタイプ出力で重複行セットをフィルタリング/削除するために使用するか、同様の方法がありますか?複数のプロセッサがしばしば同じ出力を印刷するMPIコードをデバッグしています。uniqこれは出力が1行のときにうまく機能しますが、コードはしばしば複数の行を生成します。例は次のとおりです。

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

フィルタリング済みuniq(オプションなし):

calling config()
running main loop
  time=0
running main loop
  time=0
running main loop
  time=0
output from Rank 0

n行のブロックをフィルタリングする簡単な方法はありますか?マンページを読んでまた読んだが、明確な内容が見つかりません。ありがとうございます!

修正する:出力から繰り返されるチャンクを単一のアイテムに圧縮したいです。上記の例では、次のようになります。

calling config()
running main loop
  time=0
output from Rank 0

ベストアンサー1

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

おすすめ記事