目录
一、sort工具
sort是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。
1.语法格式
sort 选项 文件
2.常用的选项
-f:忽略大小写
-b:忽略每行前面的空格
-M:按照月份进行排序 -n:按照数字进行排序
-r:反向排序
-u:等同于uniq,表示相同的数据仅显示一行
-t:指定分隔符,默认使用[Tab]键分隔
-o:<输出文件>:将排序后的结果转存至指定文件
-k:指定排序区域
3.sort举例
不加任何选项
不加任何选项默认按第一列升序,字母的话就是从a到z由上而下显示
以冒号进行分隔,按数字排序对第三列进行排序
将输出结果不在屏幕上输出,而是输出在passwd.bak文件
去重(-u)
二、uniq工具
主要用于去除连续的重复行
注意:是连续的行,所以通常和sort结合使用先排序使之变成连续的行再执行去重操作,否则不连续的重复行他不能去重
uniq [选项] 参数
-c:进行计数
-d:仅显示重复行
-u:仅显示出现一次的行
uniq举例
不加任何选项表示去掉连续的重复的行然后输出结果
对重复的行进行计数并显示
先用sort命令进行排序,再统计字符出现的行数
不然会将不连续的相同数值次数进行输出
三、tr工具
- 它可以用一个字符来替换另一个字符,或者可以完全除去一些字符,也可以用它来除去重复字符
- 从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
格式
tr [选项]… SET1 [SET2]
- 1
常用选项
-d 删除字符
-s 删除所有重复出现的字符,只保留第一个
将passwd.bak文件中的所有小写转换成大写
将bin替换成abc,就是将b替换成a,i替换成b,n替换成c
删除所有字母
四、cut-列截取工具
- cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
- 如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一
- cut只擅长于处理单个字符为间隔的文本,-b只能分割字母,-c既可以分割字母也可以分割中文
选项
-b:按字节截取
-c:按字符截取,常用于中文
-d:指定以什么为分隔符截取,默认为制表符
-f:通常和-d一起
例: 表示查看passwd.bak中第一行第一列,(cut -d: -f1表示截取以:为分隔的第一列)
例:取日志访问量最高的10个IP
cat nginx.access.log-2021013 | cut -d " " -f1 | sort -n | uniq -c | sort -nr | head