Chinaunix
标题:
sort 两列排序的问题
[打印本页]
作者:
masylichu
时间:
2011-10-20 23:11
标题:
sort 两列排序的问题
a 0
a -1
c 1
b -1
b 1
c -1
c 2
复制代码
这个文件保存为 temp
对于这个简单的两列,我想先按照第一列排序再按照第二列排序。
sort -k1 -k2n temp
可是结果就是不对,请高手帮忙解决问题出在哪里?
作者:
Shell_HAT
时间:
2011-10-20 23:14
是这个结果吗?
#sort -k1,1 urfile
a -1
a 0
b -1
b 1
c -1
c 1
c 2
作者:
masylichu
时间:
2011-10-20 23:20
回复
2#
Shell_HAT
是的。解释一下。
作者:
unixlinuxsys
时间:
2011-10-21 09:05
本帖最后由 unixlinuxsys 于 2011-10-21 09:06 编辑
[root@thinkpad ShareData]# sort -t: -k1,1 sort
a 0
a -1
b 1
b -1
c 1
c -1
c 2
[root@thinkpad ShareData]#
复制代码
http://images.china-pub.com/ebook195001-200000/195482/zcover.jpg?2011-9-30%2012:16:42
85页关于-选项的描述你看一下
作者:
waker
时间:
2011-10-21 09:15
-k, --key=POS1[,POS2]
start a key at POS1, end it at POS 2 (origin 1)
作者:
springwind426
时间:
2011-10-21 09:56
sort -k1,1 -k2,2n
当对不同的列进行不同的排序方式的时候,需要用k来指定起始列和终止列
-k1,1 表示对第一列进行字符串比较 1,1 表示起始列为第一列,终止列也为第一列
-k2,2n 表示仅对第二列进行数值比较
复制代码
作者:
rayzhang11
时间:
2011-10-21 10:10
觉得饿的这个也关乎。
sort -k1,1 -k2,2n temp
作者:
masylichu
时间:
2011-10-21 11:57
回复
7#
rayzhang11
谢谢。就应该是这样子,第一列是字符排序,第二列是数字排序,先第一列再第二列。
thank you very much.
作者:
芬达7402
时间:
2011-10-21 17:23
是这个结果吗?
Shell_HAT 发表于 2011-10-20 23:14
版主的shell不是bash?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2