目录
二.sort命令:把整理过的文本排序显示在屏幕上,不改变原始文件
4.sort -t: 指定字段分隔符,默认使用[Tab]键分隔
3.uniq -u: 仅显示没有连续的出现一次的行,可以使用sort来解决
2.tr -c:保留字符集1的字符,其他的字符用字符集2替换
4.tr -s: 将重复出现的字符串压缩为一个字符串,也可以替换
一. 统计日志文件中访问量最大的十个IP地址
cat access_log |cut -d " " -f1|sort -n|uniq -c|sort -rn|head
思路:
- 先在日志文件中将IP地址提取出来(cut -d)
- 按数字排序,将相同地址整理在一起(sort -n)
- 去掉重复的地址,并统计重复地址出现的重复次数(uniq -c)
- 排序(sort -rn)后查看前十个(head)
cat :查看日志文件
日志文件 :access_log
cut -d " " -f1 :以'' "作为分隔的条件,取文件的第一列
sort -n :按数字大小整理排序
uniq -c :统计相邻的行的重复数量
sort -rn :反方向(由上至下)按数字大小整理排序
head :默认查看开头十行
二.sort命令:把整理过的文本排序显示在屏幕上,不改变原始文件
以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序,比较原则是从首字符向后,依次按AscII码值进行比较,最后将他们按升序输出。
常用选项:
选项 | 作用 |
-n | 按照数字大小进行排序 |
-r | 反向排序 |
-R | 随机排序 |
-u | 等同于uniq,表示相同的数据仅显示一行 |
-t | 指定字段分隔符,默认使用[Tab]键分隔 |
-k | 指定列 |
-o<输出文件> | 将排序后的结果转存至指定文件 |
-f | 忽略大小写,会将小写字母都转换为大写字母来进行比较 |
-b | 忽略每行前面的空格 |
1.sort -n :按照数字大小进行排序
2.sort -r:反向排序
3.sort -u:等同于uniq,相同的数据仅显示一行
4.sort -t: 指定字段分隔符,默认使用[Tab]键分隔
5.sort -k:指定排序字段
6.sort -o:将结果转存到指定文件
三.uniq命令:去重
uniq命令用于报告或者忽略文件中连续的重复行,常和sort 命令一起配合使用
常用选项:
选项 | 作用 |
-c | 进行计数,并删除文件中重复出现的行 |
-d | 仅显示连续的重复行 |
-u | 仅显示出现一次的行 |
1.uniq -c:统计连续行重复的次数,删除重复行
1.1 统计重复行出现的次数
2.uniq -d :仅显示连续重复的行
3.uniq -u: 仅显示没有连续的出现一次的行,可以使用sort来解决
四.tr命令:字符替换、压缩和删除
基本功能转换,常用来对来自标准输入的字符进行替换、压缩和删除
格式:
tr [选项] [字符集1] [字符集2]
常用选项:
选项 | 作用 |
-c | 保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换 |
-d | 删除所有属于字符集1的字符 |
-s | 将重复出现的字符串压缩为一个字符串;用字符集2替换字符集1 |
-t | 字符集2替换字符集1,与不加选项-t结果相同 |
参数:
参数 | 作用 |
字符集1 | 指定要转换或删除的原字符集。 当执行转换操作时,必须使用参数"字符集2"指定转换的目标字符集合,但执行删除操作时,不需要参数”字符集2“ |
字符集2 | 指定要转换成的目标字符集 |
1.tr -t:转换(大小写、字符)
1.1 所有小写转换为大写
1.2 a转换成A
1.3 将.转换成空格
2.tr -c:保留字符集1的字符,其他的字符用字符集2替换
3.tr -d:删除字符
4.tr -s: 将重复出现的字符串压缩为一个字符串,也可以替换
4.1 压缩替换
4.2 删除空行:grep -v 或者 tr -s
五.cut命令:可以提取文本文件数据的指定部分
常用选项:
选项 | 说明 |
---|---|
-b | 以字节为单位进行分割 ,仅显示行中指定直接范围的内容 |
-d | 自定义分隔符,默认为制表符”TAB” |
-f | 显示指定字段的内容 , 与-d一起使用 ( -指定连续字段 ,指定不连续字段) |
-n | 取消分割多字节字符 |
--complement | 排除所指定的字段 |
--output-delimiter | 更改输出内容的分隔符 |
六.split命令:拆分
将一个大的文件拆分成若干个小文件
常用选项:
选项 | 作用 |
-l | 以行数拆分 |
-b | 以大小拆分 |