- 主题:sort命令排序的问题
我想用sort命令对文本文件内容做排序,先按第二列排,再按第三列数字倒序排。
我测试发现如果没有第一列的中文,只有后面两列,可以用「-k1,1 -k2r」的方式来排序得到类似的效果,但是如果有第一列中文,再用类似方法「-k2,1 -k3r」就无法得到想要的效果,不知道是什么原因。
测试内容:
我 11 10
爱 1121 20
北 131 30
京 131 40
天 13121 50
安 11112 60
门 11112 70
希望排序为:
我 11 10
门 11112 70
安 11112 60
爱 1121 20
京 131 40
北 131 30
天 13121 50
--
修改:yankaiqian FROM 183.195.39.*
FROM 39.144.107.*
awk '{print $2,$3,$0}' 1.txt | sort -k1,1 -k2r | cut -d' ' -f3-
我 11 10
门 11112 70
安 11112 60
爱 1121 20
京 131 40
北 131 30
天 13121 50
--
FROM 171.221.52.*
谢谢,好主意,就是这个效果!
后来发现是我不了解sort命令的用法,我的需求可以用这样的命令来实现:
sort -k2,2 -k3,3nr test.txt
【 在 poocp 的大作中提到: 】
: awk '{print $2,$3,$0}' 1.txt | sort -k1,1 -k2r | cut -d' ' -f3-
: 我 11 10
: 门 11112 70
: ...................
--
修改:yankaiqian FROM 183.195.39.*
FROM 183.195.39.*