一 sort
-t 分隔符(delimiter)
-k 区间(field)-->相当于cut 的-f参数!
-o 输出到指定文件(不常用,因为有重定向>)
-n 数字比较(非文件)-->常用!
-r 反向排序(reverse)
-u uniq(相同的数据仅出现一条)
sort默认是以"文本"类型来排序(ASCII码),如果第一个相同就比较第二个
说明:仅仅是改变行的次序,并不影响其它!
需求:将ls文件按照文件大小排序
#说明:第五个字段就是大小的含义-->-v取反
#细节:删除total-->降序
ll | sort -t " " -k 5 -rn |grep "total" -v
# -t(指定分割符); -k num(指定分割后排序的参照字段(5),默认是空格)
# 补充:字段排序
# -k 1,3 -->第一个字段开始排序,到第三个结束
# -k 1.1,3,3 -->列的字符开始排序(逗号)
应用:网站的访问量,如果1个IP就有100个PV,可能是被爬虫或者收到攻击,网站有压力!
数据来源
# 每行的格式: IP MAC地址
# 172.25.2.1 fe80::5054:ff:feda:38bb
# 172.25.3.20 fe00::5054:ff:feda:38bb
# 172.25.3.1 fe80::5004:ff:feda:38bb
sort -t. -k3.1,3.1nr -k4.1,4.3nr temp.txt
# 应用:对日志两个字段排序(升序)!
二、uniq
应用:知道每个人登陆的次数
# -c -->count(出现的次数)
last | cut -d ' ' -f 1|sort |uniq -c
# last作用是显示近期用户或终端的登录情况。通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接系统!
# 执行last命令时,它会读取/var/log目录下名称为wtmp的文件,并把该文件记录的登录系统或终端的用户名单全部显示出来。默认显示wtmp的记录,btmp能显示的更详细,可以显示远程登录
# -d
# 说明:目的是将重复的东西减少,需要配合排序过来的文件来处理!
三、wc
-l -->line(行数) -->统计帐号文件有多少个帐号!
-w -->word(多少个英文单词)
-m -->多少个字符