Loose-Info.com

Last Update 2019/03/24


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

(例) オプション -b
実行結果
$ 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

(例) オプション -d
実行結果
$ 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

(例) オプション -f
実行結果
$ 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

(例) オプション -k
実行結果
$ 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

(例) オプション -n
実行結果
$ 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

(例) オプション -o
実行結果
$ 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

(例) オプション -r
実行結果
$ 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

(例) オプション -t
実行結果
$ 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

(例) オプション -u
実行結果
$ 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