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

  

 

posted @ 2015-12-29 10:23  waterystone  阅读(341)  评论(0编辑  收藏  举报