#navi(../)
* sortコマンドで自然数のソート方法 [#m5336f48]
sortコマンドで数値の桁があっていないデータをソートすると文字コード順でソートされてしまいます。~
本資料では、数値としてソートする方法を以下に記します。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#jbc36196]
-[[lsコマンド・自然数でソート>逆引きUNIXコマンド/lsコマンド・自然数でソート]]

* sortコマンドを使用して自然数(数値として)でソートする方法 [#f27c2551]
自然数(数値)としてソートするには-nオプションを使用すれば実現できます。
 sort -n
以下に実際に実行した例を記します。

** 使用した数値が格納されているファイル [#w2b664d5]
#ref(num.txt)
以下の内容を持つファイルを使用しました。
 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 オプションを使用せず実行した時の出力 [#rc5774d6]
以下の出力をみるとわかるように、自然数(数値)でソートされておらず、文字コード順にソートされているのが確認できます。
 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 オプションを使用して実行した時の出力 [#f866661c]
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を追加する [#yac51fd8]
逆順ソートである''-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コマンドを使用して自然数(数値)によるソート方法でした。

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS