レコードのn番目の発生を表示します。

レコードのn番目の発生を表示します。

awkを使用してレコードのn番目のエントリを表示し、他のエントリを削除するにはどうすればよいですか?

入力ファイル:

79933,2
79933,4
79933,5
55251,1
49494,4
49494,2
49494,2
49494,1

この例では、目的の出力が2番目の発生の場合は次のようになります。

79933,4
49494,2

ベストアンサー1

POSIX的に:

n=2 awk -F, '++a[$1]==ENVIRON["n"]' <file

最初のフィールドが表示されるたびに増加し、そのフィールドの発生を追跡し、それを配列に保存しますa。 2回目に発生すると、条件はtrueになり、awk印刷されます$0

おすすめ記事