本文へスキップ
BecomeCoder

Linuxコマンドコース · 第3章 パイプとフィルタ · レッスン14

sort ― 並べ替える

ブラウザで完結

導入

集計の前段としてよく使うのが 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

実際に動かしてみよう

下の端末にコマンドを打って Enter を押すと、その場で結果が返ります。本文で出てきたコマンドを実際に試しながら進めましょう(ファイルを消しても「最初からやり直す」で元に戻ります)。

Linux シェル(シミュレート)

ブラウザ内でコマンドを試せる仮想シェルを読み込みます(本物のLinuxカーネルではなく学習用の再現です)。
スクロールして表示された時点でも自動で読み込まれます。