導入
集計の前段としてよく使うのが sort(並べ替え)です。同じ値をとなり合わせにできるので、次のレッスンの uniq(重複をまとめる)と相性が抜群です。
説明
sort は行を辞書順(文字コード順)に並べ替えます。
sort data.csv
数値として並べ替えたいときは -n を付けます。文字列順だと「10 が 2 より前」に来てしまうので、数を扱うときは -n が必須です。
cut -d , -f 2 data.csv | tail -n +2 | sort -n
-r で逆順(大きい順)になります。ランキングを作るときの定番です。
cut -d , -f 2 data.csv | tail -n +2 | sort -rn
tail -n +2は「2行目から最後まで」という意味で、CSV の見出し行を飛ばすときに使います。
やってみよう
sort data.csv で辞書順に並ぶのを見てから、cut -d , -f 2 data.csv | tail -n +2 | sort -n で年齢が小さい順に並ぶことを確認しましょう。-rn に変えると大きい順になります。
演習
data.csv の年齢(2列目)を取り出し、見出し行を除いて、大きい順に並べてください。
ヒント1を見る
列を取り出す cut、見出しを飛ばす tail -n +2、大きい順の sort -rn をつなぎます。
ヒント2を見る
cut -d , -f 2 data.csv | tail -n +2 | sort -rn