Linux sort的四个小技巧

像排序这种事情,用C/C++可以写,但很麻烦,交给sort就好了,功能很强大的。

1、按照多个列排序(列间空格分开):

测试数据:

先按照第1列排序,再第2列的命令:

2011-11-20补充:必须加-s选项,表示stable sort,即两列排序互相不打扰。

2、sort默认是字典序比较,我们可以-n让它按照强制数字转换,以解决0199< 100的问题。

3、补充一个结合awk的,有时间一定好好学一下awk,太XX了……

需求:给定下述文件

要求按照第一列排列并去重,保留第2列大的那个,即输出:

命令来了:

4、再补充,好吧,想到一个比awk还简单的(awk耗内存大)

sort也支持unique的-k2n,1后面的,1是取第一行,按照我们的需求,这第一行必须是第一列排序后,第二列最大的在前面,因此这么就可以了。

Leave a Reply

Your email address will not be published.