テキストファイルを行単位で並べ替える
オプション
-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 2nr,2 -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