TOP - Unix系OS - Linux - sort(1)

テキストファイルをソートします。

sort オプション1 ファイルパス1
オプション1(任意)
    -b
        行頭の空白を無視

    -d
        空白、アルファベット、数字以外を無視

    -f
        小文字を大文字としてソート

    -k 値1
        (値1)の列をキーとしてソート
        始点は1

    -n
        数値としてソート

    -o ファイルパス1
        ソート結果を(ファイルパス1)へ出力

    -r
        逆順ソート

    -t 値1
        (値1)をセパレータとして使用

    -u
        同じ行を重複して表示しない

ファイルパス1
    ソートするファイル

※ オプションなどは個人的に重要と考えられるものを記述しており、記載の無いものは、manページや関連書籍などを参照願います。
※ 実行例の記述は、不要と考えられる部分の削除などの修正を行ったものを掲載しています。
※ 実行例の実行環境はUbuntu 12.10です。

(例)オプション無し
実行結果
$ cat test.txt
bbb 222
ccc 111
aaa 333
fff 000
kkk www

$ sort test.txt
aaa 333
bbb 222
ccc 111
fff 000
kkk www

実行結果
$ cat test.txt
bbb 222
 ccc 111
aaa 333
    fff 000
kkk www

$ sort test.txt
    fff 000
 ccc 111
aaa 333
bbb 222
kkk www

$ sort -b test.txt
aaa 333
bbb 222
 ccc 111
    fff 000
kkk www

実行結果
$ cat test.txt
bbb 222
! ccc 111
aaa 333
#fff 000
kkk www
123 aaa

$ sort test.txt
! ccc 111
#fff 000
123 aaa
aaa 333
bbb 222
kkk www

$ sort -d test.txt
! ccc 111
123 aaa
aaa 333
bbb 222
#fff 000
kkk www

実行結果
$ cat test.txt
bbb 222
ccc 111
Aaa 333
Fff 000
kkk www
123 aaa

$ sort test.txt
123 aaa
Aaa 333
Fff 000
bbb 222
ccc 111
kkk www

$ sort -f test.txt
123 aaa
Aaa 333
bbb 222
ccc 111
Fff 000
kkk www

実行結果
$ cat test.txt
123 dddd
12000 hhhhhh 
8 t 
0 www
222 aa

$ sort test.txt
0 www
12000 hhhhhh 
123 dddd
222 aa
8 t 

$ sort -k 2 test.txt
222 aa
123 dddd
12000 hhhhhh 
8 t 
0 www

実行結果
$ cat test.txt
123 dddd
12000 hhhhhh 
8 t 
-7788 aaa 
0 www
222 aa

$ sort test.txt
-7788 aaa 
0 www
12000 hhhhhh 
123 dddd
222 aa
8 t 

$ sort -n test.txt
-7788 aaa 
0 www
8 t 
123 dddd
222 aa
12000 hhhhhh 

実行結果
$ cat test.txt
123 dddd
12000 hhhhhh 
8 t 
-7788 aaa 
0 www
222 aa

$ sort -o test2.txt test.txt

$ cat test2.txt
-7788 aaa 
0 www
12000 hhhhhh 
123 dddd
222 aa
8 t 

実行結果
$ cat test.txt
123 dddd
12000 hhhhhh 
8 t 
-7788 aaa 
0 www
222 aa

$ sort test.txt
-7788 aaa 
0 www
12000 hhhhhh 
123 dddd
222 aa
8 t 

$ sort -r test.txt
8 t 
222 aa
123 dddd
12000 hhhhhh 
0 www
-7788 aaa 

実行結果
$ cat test.txt
123=dddd
12000=hhhhhh 
8=t 
-7788=aaa 
0=www
222=aa

$ sort -k 2 test.txt
0=www
123=dddd
222=aa
-7788=aaa 
12000=hhhhhh 
8=t 

$ sort -t '=' -k 2 test.txt
222=aa
-7788=aaa 
123=dddd
12000=hhhhhh 
8=t 
0=www

実行結果
$ cat test.txt
123 dddd
12000 hhhhhh 
8 t 
8 t 
0 www
222 aa

$ sort test.txt
0 www
12000 hhhhhh 
123 dddd
222 aa
8 t 
8 t 

$ sort -u test.txt
0 www
12000 hhhhhh 
123 dddd
222 aa
8 t 

Copyright(C) 2006-2014 CLAYPOT. All Rights Reserved.