sort (UNIX)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

sort(ソート)は、UNIXに標準的に存在するコマンド行プログラムの一種であり、入力の各行をソートされた順序で出力するものである。

[編集]

  • カレントディレクトリにあるファイルリストをファイルサイズ順でソート
$ls -s | sort -n
  96 Nov1.txt
 128 _arch_backup.lst
 128 _arch_backup.lst.tmp
1708 NMON
  • 名簿(電話帳)をアルファベット順にソート
 $ cat phonebook
 Smith, Brett     555-4321
 Doe, John        555-1234
 Doe, Jane        555-3214
 Avery, Cory      555-4321
 Fogarty, Suzie   555-2314
   
 $ sort phonebook
 Avery, Cory      555-4321
 Doe, Jane        555-3214
 Doe, John        555-1234
 Fogarty, Suzie   555-2314
 Smith, Brett     555-4321
  • 数値をキーとしたソートは -n オプションをつけることで可能となる。
 $ du /bin/* | sort -n
 4       /bin/domainname
 24      /bin/ls
 102     /bin/sh
 304     /bin/csh
古いバージョンの sort では、+1 オプションを付けると、第二カラムのデータを使ってソートする(+2 では第三カラム)。これは現在ではサポートされていないが、その代替として -k オプションを同じ目的に使用できる。次の例は -n と "-k 2"(第二カラムを指定)を同時に指定している。
 $ cat zipcode
 Adam  12345
 Bob   34567
 Joe   56789
 Sam   45678
 Wendy 23456
   
 $ sort -nk 2 zipcode
 Adam  12345
 Wendy 23456
 Bob   34567
 Sam   45678
 Joe   56789
  • 逆順でのソートには -r オプションを使う。
 $ sort -nrk 2 zipcode
 Joe   56789
 Sam   45678
 Bob   34567
 Wendy 23456
 Adam  12345

外部リンク[編集]

  • Manpage of SORT JM Project(linux.or.jp)
  • sort(1) man page(SunOS リファレンスマニュアル)
  • sort(1) man page(HP-UX リファレンス)