ファイル[重複]のパターンの上の行を返します。

ファイル[重複]のパターンの上の行を返します。

この出力があります

v12:     "owner" : "cs1372",
v12:     "num-of-connections" : 1,
v12:     "owner" : "cq5838",
v5:     "owner" : "bb9886",
v5:     "owner" : "aq0903",
v5:     "owner" : "bj2468",
v5:     "owner" : "di3080",
v5:     "num-of-connections" : 1,

リンクされた行数よりも高い行を返す必要があります。だから私が望む出力は

v12:     "owner" : "cs1372",
v5:     "owner" : "di3080",

sedやawkを使ってこれを行う簡単な方法はありますか?

ベストアンサー1

使用awk:

$ awk '$2=="\"num-of-connections\""{ print prev } { prev=$0 }' file
v12:     "owner" : "cs1372",
v5:     "owner" : "di3080",

現在のレコードを変数に保存しますprev。 2番目のフィールドが同じ場合は"num-of-connections"変数を印刷しますprev

おすすめ記事