/usr/bin/sort
sort [オプション] ファイル名 | ファイル内データのすべての行をソートし、その結果を標準出力に書き込みます。 |
---|
-b | 行頭の空白を無視します。 |
---|---|
-c | ソート済みであるかをチェックします。ソート済みである場合は何も表示されません。 |
-d | 辞書順でソートします。 |
-f | 大文字と小文字の区別をしません。 |
-k 列番号 | ソート対象とする列を指定します。カンマで区切って列番号を指定した場合は、番号1~番号2の範囲指定になります。番号2を省略した場合は、行末までが対象です。1列目は1になります。 |
-m | ソート済みのファイルをマージします。 |
-n | 数字でソートします。 |
-r | 逆順にソートします。 |
-t | セパレータで行の区切りを指定します。省略された場合は、空白がセパレータとなります。 |
-u | 同一の行をまとめて表示します。 |
-k | ソート対象にするキー番号を指定します。セパレータで区切った文字からn番目という意味です。 |
sort -t "@" -k 2 test03.txt
sort -n test.txt
sort -c test02.txt
sort -m test01.txt test02.txt > merge.txt
sort -u test04.txt
sort -d test05.txt
セパレータを「@」として、キーを2番目に指定します。
# cat test03.txt 0@aa 1@ac 2@ab 3@ad 4@af 5@ae # sort -t "@" -k 2 test03.txt 0@aa 1@ab 2@ac 3@ad 5@ae 4@af
数字でソートします。
# cat /test.txt 5aaa 4bbb 3ccc 2ddd 1eee 0fff sort -n test.txt 0fff 1eee 2ddd 3ccc 4bbb 5aaa
ソート済みであるかチェックします。
# cat test02.txt aaa bbb ccc fff ddd eee # sort -c test02.txt sort: disorder: ddd ※未ソートの行が表示されます。
ソート済みの複数ファイルを1つのファイルにマージします。
# cat test01.txt aaa bbb ccc # cat test02.txt ddd eee fff # sort -m test01.txt test02.txt > merge.txt # cat merge.txt aaa bbb ccc ddd eee fff
同一の行をまとめてソートします。
# cat test04.txt aaa bbb ccc ccc # sort -u test04.txt aaa bbb ccc
辞書順でソートします。
# cat test05.txt aaa bbb 000 111 AAA BBB あああ いいい # sort -d test05.txt 000 111 AAA BBB aaa bbb あああ いいい