sort详解
一. 简介
sort命令是帮我们依据不同的数据类型进行排序。
二. 语法
sort [-bcfMnrtk][源文件][-o 输出文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序(默认为字典序)。
参 数:
-b | 忽略每行前面开始出的空格字符。 |
-c | 检查文件是否已经按照顺序排序。 |
-f | 排序时,忽略大小写字母。 |
-M | 将前面3个字母依照月份的缩写进行排序。 |
-n | 依照数值的大小排序。 |
-o | <输出文件>将排序后的结果存入指定的文件。 |
-r | 以相反的顺序来排序。 |
-t | <分隔字符>指定排序时所用的栏位分隔字符。 |
-k | 选择以哪个区间进行排序。 |
-u | 去重。 |
三. 简例
如果有一个文件的内容是这样:
[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
[rocrocket@rocrocket programming]$ sort -n -k 2 -t ‘:’ facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
如果要统计重复的行数
$sort|uniq -c
$sort -n ids.txt |uniq -c|sort -k 1 -n -r>sorted.txt
求访问前10的ip及数量
awk '{ips[$1]++} END {for(ip in ips) print ip"\t"ips[ip]}' access.log| sort -k2 -r | head -n 10 awk '{print $1}' access.log| uniq -c| sort -k1 -n -r | head -n 10
- 作者:水岩
- 出处:http://www.cnblogs.com/waterystone
- 本博客中未标明转载的文章归作者水岩和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果您觉得本文对您的学习有所帮助,可通过支付宝(左) 或者 微信(右) 来打赏博主,增加博主的写作动力