データは次の形式です。
South,London,5
South,Greenwich,7
South,Guildford,2
South,Maidstone,3
South,Oxted,4
North,Manchester,10
North,Leeds,7
North,Grimsby,9
North,Halifax,11
Midlands,Birmingham,16
Midlands,Coventry,10
Midlands,Walsall,15
Midlands,Rutland,1
2番目の列に基づいてグループ化するためにレコードをフィルタリングしてエクスポートするには、AWKプログラムが必要ですが、最初の3つの値のみを印刷します。
South,Greenwich,7
South,London,5
South,Oxted,4
North,Halifax,11
North,Manchester,10
North,Grimsby,9
Midlands,Birmingham,16
Midlands,Walsall,15
Midlands,Coventry,10
実際のファイルにはより多くの地域/都市があります。助けが必要ですか?
答え1
まずsort
、コマンドを使用して並べ替え、次を使用してawk
各カテゴリの上位3つをフィルタリングできます$1
。
sort -t, -k1,1 -k3,3nr file | awk -F, 'n[$1]++<3'
出力:
Midlands,Birmingham,16
Midlands,Walsall,15
Midlands,Coventry,10
North,Halifax,11
North,Manchester,10
North,Grimsby,9
South,Greenwich,7
South,London,5
South,Oxted,4