sortコマンドで自然数のソート方法 †sortコマンドで数値の桁があっていないデータをソートすると文字コード順でソートされてしまいます。 関連記事 †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 -n オプションを使用せず実行した時の出力 †以下の出力をみるとわかるように、自然数(数値)でソートされておらず、文字コード順にソートされているのが確認できます。 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 -n オプションを使用して実行した時の出力 †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を追加する †逆順ソートである-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コマンドを使用して自然数(数値)によるソート方法でした。 |