如何仅基于第一列对行进行排序?

时间:2018-12-18 14:24:40

标签: sorting

给出input.txt:

12 pas
24 chinois
3 22
67 Il
32 Mais
4 héritier
155 vers
56 troupes
5 L
2 83
97 an

我的排序命令:

sort -nr ./input.txt > ./out.txt

我明白了:

3 22
2 83
155 vers
97 an
67 Il
56 troupes
32 Mais
24 chinois
12 pas
5 L
4 héritier

如何返回?:

155 vers
97 an
67 Il
56 troupes
32 Mais
24 chinois
12 pas
5 L
4 héritier
3 22
2 83

1 个答案:

答案 0 :(得分:0)

使用-t-k

sort -n -r -t':' -k1,1 input.txt > out.txt

它返回:

155 vers
97 an
67 Il
56 troupes
32 Mais
24 chinois
12 pas
5 L
4 héritier
3 22
2 83

说明:

-n: Numeric sort
-r: Reverse (descending)
-t: Changes field separator to ':' character
-k: Sort key starts on field 2 and ends on field 2

感谢bash output lines sorted by descending number