linuxのコマンドでsortしてみる
主にsort
コマンドの使い方となっています
設定
以下のような内容の記述されたファイルをソートしてみます(ちなみにファイルの内容のイメージは、左が乱数の下1桁で右がその出現回数です)
$ cat last_one 0 978 1 1048 2 972 3 953 4 1007 5 980 6 1010 7 983 8 1081 9 988
ソートに使うkeyを選択する
まず第二項をキーとしてsortするには、keyを指定するオプション-k2
をつけます
$ cat last_one | sort -k2 4 1007 6 1010 1 1048 8 1081 3 953 2 972 0 978 5 980 7 983 9 988
これだと、辞書型でのsortになってしまいます。
つまり、(左から)1桁目を比べてそれが同じなら2桁目を比べて、というsortの仕方です。
数字としての大きさでソート
普通の数字順で並び替えたければ、numberの-n
オプションをつけます
$ cat last_one | sort -k2 -n 3 953 2 972 0 978 5 980 7 983 9 988 4 1007 6 1010 1 1048 8 1081
逆順でソート
逆順でソートするには、reverseの-r
オプションをつけます
$ cat last_one | sort -k2 -n -r 8 1081 1 1048 6 1010 4 1007 9 988 7 983 5 980 0 978 2 972 3 953