Linuxコマンド虎の巻

sort

sortは、テキストファイルの中身をソートして表示するコマンドです。

構文

(構文)
sort [オプション] <ファイル名>
【オプション】
オプション説明
-Rランダムにソートして表示する
-k 列番号指定した列でソートする
-n数値としてソートする
-t 区切り文字区切り文字を指定する
(デフォルトは半角スペースです。)
-u重複行を除いてソートする
-f大文字小文字を区別せずソートする
-r降順でソートする
(デフォルトは昇順です。)
--helpヘルプを表示する

サンプル

以下のファイルをサンプルとして使用します。

test01.txt

bbb 2 ccc 100 aaa 30

test02.txt

yyy:300 zzz:10 xxx:40

test01.txtファイルの中身を昇順にソートして表示する

$ sort test01.txt aaa 30 bbb 2 ccc 100

test01.txtファイルの中身を降順にソートして表示する

$ sort -r test01.txt ccc 100 bbb 2 aaa 30

test01.txtファイルの2列目を基準にソートして表示する

$ sort -k 2 test01.txt ccc 100 bbb 2 aaa 30

2列目は数値ですが文字列としてソートするためこのような結果となります。

test01.txtファイルの2列目を数値としてソートして表示する

$ sort -k 2 -n test01.txt bbb 2 aaa 30 ccc 100

数値としてソートするには、-nオプションを指定します。

test2.txtファイルの2列目でソートする(区切り文字は「:」)

$ sort -k 2 -t : test02.txt zzz:10 yyy:300 xxx:40

備考

  • sortは、「sort:並べる」という英単語が元になっています。