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) |