points.txt
次のデータテーブルを含むファイルがあります。
Jim:4
Tim:8
Lin:6
Tom:1
Esko:2
Jaska:5
Erkki:7
これで、次のリストを数値順(最も高いものから)にすることはできますか?または、最も高いスコアを持つ3つの名前をどのようにリストできますか?以下を試しましたが、うまくいかないようです。
sort -n -k 1,1 points.txt
sort -n points.txt
sort -n ^: points.txt
答え1
TOP 3をお探しの場合
sort -k2,2rn -t: points.txt | head -n 3 | cut -f1 -d:
-k
ソートフィールドを指定し、次の部分は次のとおりです。
2,2
- フィールドで始まり終わるソートキー2
n
- 数値ソート
r
- 逆順ソート
-t
この場合、フィールド区切り文字を指定するために使用されます。: