≪ トップ |
2008年03月13日
テキストファイルを行単位で並べ替える
sort コマンド
オプション
-n:数値として並べ替える。
-r:降順に並べ替える。(指定しない場合は昇順)
-t 文字:指定文字を区切り文字とする。(デフォルトは空白)
-k 数値1(,数値2):数値1番目のフィールドから数値2番目のフィールドをキーとする。(先頭フィールドは1)
# cat list.txt
yuna 95
runa 32
honoka 44
hinata 74
mao 19
haruna 89
kanon 65
mana 55
haruka 100
nanami 82
yuna 95
runa 32
honoka 44
hinata 74
mao 19
haruna 89
kanon 65
mana 55
haruka 100
nanami 82
に対して、
# sort -n -r -k 2,2 list.txt
haruka 100
yuna 95
haruna 89
nanami 82
hinata 74
kanon 65
mana 55
honoka 44
runa 32
mao 19
haruka 100
yuna 95
haruna 89
nanami 82
hinata 74
kanon 65
mana 55
honoka 44
runa 32
mao 19
# sort -k 1,1 list.txt
haruka 100
haruna 89
hinata 74
honoka 44
kanon 65
mana 55
mao 19
nanami 82
runa 32
yuna 95
haruka 100
haruna 89
hinata 74
honoka 44
kanon 65
mana 55
mao 19
nanami 82
runa 32
yuna 95
複数の列をもとにデータを並べ替える
# cat list.txt
yuna 5
runa 2
honoka 3
hinata 3
mao 1
haruna 4
kanon 3
mana 3
haruka 5
nanami 4
yuna 5
runa 2
honoka 3
hinata 3
mao 1
haruna 4
kanon 3
mana 3
haruka 5
nanami 4
に対して、
第2フィールドを数値として降順に並べ替え、同じになったものを第1フィールドで並べ替える
# sort -k 2,2nr -k 1,1 list.txt
haruka 5
yuna 5
haruna 4
nanami 4
hinata 3
honoka 3
kanon 3
mana 3
runa 2
mao 1
haruka 5
yuna 5
haruna 4
nanami 4
hinata 3
honoka 3
kanon 3
mana 3
runa 2
mao 1
投稿者 ゆう : 2008年03月13日 18:05 | カテゴリー コマンド・メモ (46)
トラックバック
このエントリーのトラックバックURL:
http://www.wave440.com/blog/mt-trbk.cgi/192
http://www.wave440.com/blog/mt-trbk.cgi/192