sortコマンドで数値の桁があっていないデータをソートすると文字コード順でソートされてしまいます。
本資料では、数値としてソートする方法を以下に記します。
自然数(数値)としてソートするには-nオプションを使用すれば実現できます。
sort -n
以下に実際に実行した例を記します。
以下の内容を持つファイルを使用しました。
sakura@hpmini:~$ cat num.txt 3 4 14 20 20 11 0 14 1 18 1 17 3 11 4 11 0 4 12 17
以下の出力をみるとわかるように、自然数(数値)でソートされておらず、文字コード順にソートされているのが確認できます。
sakura@hpmini:~$ sort num.txt 0 0 1 1 11 11 11 12 14 14 17 17 18 20 20 3 3 4 4 4
sortコマンドに-nを利用することにより自然数(数値)でソートされているのが確認できます。
sakura@hpmini:~$ sort -n num.txt 0 0 1 1 3 3 4 4 4 11 11 11 12 14 14 17 17 18 20 20
逆順ソートである-rオプションを追加すれば自然数(数値)で逆順にソートされているのが確認できます。
sakura@hpmini:~$ sort -nr num.txt 20 20 18 17 17 14 14 12 11 11 11 4 4 4 3 3 1 1 0 0
以上、sortコマンドを使用して自然数(数値)によるソート方法でした。