トップ |

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

に対して、

# 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

# 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

複数の列をもとにデータを並べ替える

# cat list.txt
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

投稿者 ゆう : 2008年03月13日 18:05 | カテゴリー コマンド・メモ (46)

PR 年間580円からの格安ドメイン取得サービス─ムームードメイン
★月額263円/容量1GB/機能満載! ロリポップ!レンタルサーバー ★
ホスティングするならリンククラブ!レンタルサーバならリンククラブ!


トラックバック

このエントリーのトラックバックURL:
http://www.wave440.com/blog/mt-trbk.cgi/192

コメントを投稿




保存しますか?