整理以作备忘。
sort是排序命令,结合多个option可以实现多种排序功能。
一.工作原理
sort命令将文本的每一行作为一个处理对象,从字首字符向后按ASCII码比较排序后,默认按升序输出。
如有以下文件是爬虫的visited队列记录保存在visited_url.db文件中:
http://www.csdn.net
http://www.csdn.net/blog
http://www.csdn.net/blog/201312
http://www.csdn.net/info
http://www.csdn.net/app
http://www.csdn.net/info
http://www.csdn.net
http://www.csdn.net/app/2131
http://www.youku.com/news/1
http://www.youku.com/news/2
http://www.youku.com/news/3
http://www.youku.com/news
http://www.youku.com/news
则使用sort排序后的结果为:
john@john-IdeaPad:~/c_workspace$ sort visited_url.db
http://www.csdn.net
http://www.csdn.net
http://www.csdn.net/app
http://www.csdn.net/app/2131
http://www.csdn.net/blog
http://www.csdn.net/blog/201312
http://www.csdn.net/info
http://www.csdn.net/info
http://www.youku.com/news
http://www.youku.com/news
http://www.youku.com/news/1
http://www.youku.com/news/2
http://www.youku.com/news/3
二.具体使用
1.sort filename -u
该命令与sort filename --unique相同,作用是去除重复行,以下为执行结果:
john@john-IdeaPad:~/c_workspace$ sort visited_url.db -u
http://www.csdn.net
http://www.csdn.net/app
http://www.csdn.net/app/2131
http://www.csdn.net/blog
http://www.csdn.net/blog/201312
http://www.csdn.net/info
http://www.youku.com/news
http://www.youku.com/news/1
http://www.youku.com/news/2
http://www.youku.com/news/3
可以发现,重复行被在结果中只出现了一次。
2.sort filename -r
该命令与sort filename --reverse相同,作用是使排序结果降输出,直接结果
john@john-IdeaPad:~/c_workspace$ sort visited_url.db -r
http://www.youku.com/news/3
http://www.youku.com/news/2
http://www.youku.com/news/1
http://www.youku.com/news
http://www.youku.com/news
http://www.csdn.net/info
http://www.csdn.net/info
http://www.csdn.net/blog/201312
http://www.csdn.net/blog
http://www.csdn.net/app/2131
http://www.csdn.net/app
http://www.csdn.net
http://www.csdn.net
3.sort filename -o
该命令与 sort filename --output相同,作用是写入输出文件而不是默认的标准输出。
例如 sort visited_url.db -o sorted_visted_url.db 排序并将排序结果写入sorted_visited_url.db文件中,执行结果就不粘贴了。
4.sort -n filename
该命令与 sort --numeric-sort filename相同 ,按数值排序而不是默认的按字符串的ASCII码值排序,执行结果不贴了。
其他常用选项请参考sort的帮助文件,常用就能记住了。