SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UNIXコマンド辞典

sort

ファイルの内容をソートする

対応OS: linux , freebsd, solaris

2015/05/20 08:00

sort [-t SEP] [-k POS1[,POS2]] [-i] [-r] [-f] [-b] [FILE...]

 sortコマンドは、FILE...に指定したファイルの内容をソートします。ソートに使用するソートキーは、デフォルトでは行全体になりますが、オプションの指定でこのソートキーを指定することもできます。

ソートとソートキー

 ソートとは、並べ替えのことで、sortコマンドにおける並べ替えは、行全体あるいはソートキーに指定したフィールドの文字列をキーとして行います。キーとなる文字列のことをソートキーといい、ソートキーの文字コード(ASCIIコード)の値が小さいものから順番に並べ替えることを「昇順にソートする」といい、逆に文字コードの値が大きいものから順番に表示する並べ替えることを「降順にソートする」といいます

オプション
① -t SEP
フィールドの区切り文字を「SEP」に指定します。このオプションは、オプション「-k」を指定して特定のフィールドをソートキーにする場合に有効です。省略した場合の区切り文字はスペースとなります。
② -k POS1[,POS2]
「POS1」に指定したフィールドから「POS2」に指定したフィールドまでをソートキーにします。「POS2」を省略すると、「POS1」に指定したフィールドから行末までをソートキーにします。
③ -i
印字不可能な文字を無視してソートします。
④ -r
降順にソートします。省略時は昇順にソートします。
⑤ -f
大文字と小文字の区別をせずにソートします。
⑥ -b
行頭のスペースを無視してソートします。
引数
① FILE...
ソートするファイルをスペースで区切って指定します。ワイルドカードによる指定も可能です。
行全体をソートキーにして昇順にソートする
[takeda]$ cat s01 
1:1:2: 2:1:1
3:2:1: 3:2:2
3:2:1: 3:1:1
ファイル「s01」の内容
[takeda]$ cat s02
2:2:1: 1:2:2
3:2:1: 3:1:2
3:2:1: 3:3:1
ファイル「s02」の内容
[takeda]$ sort s01 s02
「s01」と「s02」のすべての内容を、行単位で昇順にソート
1:1:2: 2:1:1
2:2:1: 1:2:2
3:2:1: 3:1:1
3:2:1: 3:1:2
3:2:1: 3:2:2
3:2:1: 3:3:1
フィールドを指定して昇順にソートする
[takeda]$ sort -t: -k5,5 s* 
「:」を区切り文字とし、5つ目のフィールドをソートキーとしてソート
1:1:2: 2:1:1
3:2:1: 3:1:1
3:2:1: 3:1:2
2:2:1: 1:2:2
3:2:1: 3:2:2
3:2:1: 3:3:1
ソートキー
[takeda]$
降順にソートする
[takeda]$ sort -r file01 
オプション「-r」を指定して降順にソート
「A」のASCIIコードの値は「0x41」、「a」はASCIIコードの値は「0x61」で、大文字の方が値が小さい
a003
a002
a001
A003
A002
A001
[takeda]$
大文字と小文字を区別せずにソートする
[takeda]$ sort -f file01 
オプション「-f」を指定して、大文字と小文字の区別をせずにソート
「A001」と「a001」とは同じと見なされ、このような場合には文字コード順に並ぶ
A001
a001
A002
a002
A003
a003
[takeda]$
HINT!

 catコマンド

関連タグ

UNIXコマンド辞典トップページに戻る

本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.

開発者必携!VBAスキルを証明する資格「VBAエキスパート」

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング