首页 > 解决方案 > linux Shell:Sort -k 无法正常工作,这是一个错误吗?

问题描述

我想按数值对第三列和第四列进行排序。第三栏先。

但!如下图,第一个和第三个操作似乎是不正确的。第四列不按值排序!这是一个“排序”错误吗?

moasm@moasm-pc ~ $ cat ~/Desktop/10.log
ain.log.237.1999
ain.log.237.298

moasm@moasm-pc ~ $ sort  -b -t. -k3n,4n   ~/Desktop/10.log 

ain.log.237.1999
ain.log.237.298
moasm@moasm-pc ~ $ sort  -b -t. -k4n   ~/Desktop/10.log 

ain.log.237.298
ain.log.237.1999
moasm@moasm-pc ~ $ sort  -b -t. -k3n   ~/Desktop/10.log 

ain.log.237.1999
ain.log.237.298
moasm@moasm-pc ~ $ sort  -b -t. -k3V   ~/Desktop/10.log 

ain.log.237.298
ain.log.237.1999
moasm@moasm-pc ~ $ sort  -b -t. -k3V,4V   ~/Desktop/10.log 

ain.log.237.298
ain.log.237.1999
moasm@moasm-pc ~ $ sort  -b -t. -k3V,3V   ~/Desktop/10.log 

ain.log.237.1999
ain.log.237.298

标签: linuxshellsorting

解决方案


要使用二级排序列,您需要指定-k几次:

sort -t. -k3,3n -k4,4n

推荐阅读