このエントリーをはてなブックマークに追加


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コマンドを使用して自然数(数値)によるソート方法でした。



添付ファイル: filenum.txt 463件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:28:05