Chinaunix首页 | 论坛 | 博客
  • 博客访问: 88693
  • 博文数量: 16
  • 博客积分: 356
  • 博客等级: 一等列兵
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-13 21:09
文章分类

全部博文(16)

文章存档

2012年(16)

我的朋友

分类: LINUX

2012-09-16 00:16:33

sort在linux命令行下面是一个非常好用的工具,有人把它当做每个程序员都应该知道的8个Linux命令之一,http://news.cnblogs.com/n/157504/ 。最近在处理大数据的时候发现两点。

1. 用sort -u 而不是sort|uniq。 
sort应该是按照归并的思想来的,先分成一个个小文件,排序后再组合成最后拍好序的文件。所以,sort -u 要比sort | uniq 快。因为越早去除那些相同的元素,肯定是对后面归并的速度有好处的。
具体的测试如下:


2.更换sort的临时文件生成目录。
上面所说的sort的临时小文件是默认放在/tmp路径下的,有时候/tmp的空间有限制,比如4G,那么,超过4G的文件就没有办法用sort了。可以用sort -T Path 来临时文件的目录。不用担心,归并完以后小文件会自动删除的。

3. 按键值排序
这点其实跟大数据量有多大关系,而是很好用,sort -k 按照键值来排序。
阅读(1802) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~