我需要根据两列对表进行排序,一列是数字,另一列是字符串。我需要按降序排列数字,而我想按字母顺序排列字符串。使用' -r' sort的选项适用于数字,但它也适用于sting。我想知道如何只为一列而不是另一列应用反向选项。
Cmd:sort -r -k5 -k3 -k1
数据: 输入
il || 2 | 3 ||
we || 2 | 2 ||
dt || 0 | 2 ||
di || 0 | 2 ||
cs || 16 | 1 ||
fd || 5 | 1 ||
df || 14 | 0 ||
np || 9 | 0 ||
dt || 9 | 0 ||
ta || 0 | 0 ||
rt || 0 | 0 ||
ps || 0 | 0 ||
预期
il || 2 | 3 ||
we || 2 | 2 ||
di || 0 | 2 ||
dt || 0 | 2 ||
cs || 16 | 1 ||
fd || 5 | 1 ||
df || 14 | 0 ||
dt || 9 | 0 ||
np || 9 | 0 ||
ps || 0 | 0 ||
rt || 0 | 0 ||
ta || 0 | 0 ||
答案 0 :(得分:1)
这对我有用
$ sort -rk5 -k3 -k1b input
输出:
il || 2 | 3 ||
we || 2 | 2 ||
di || 0 | 2 ||
dt || 0 | 2 ||
cs || 16 | 1 ||
fd || 5 | 1 ||
df || 14 | 0 ||
dt || 9 | 0 ||
np || 9 | 0 ||
ps || 0 | 0 ||
rt || 0 | 0 ||
ta || 0 | 0 ||