- 一、Cut
- 二、Sort
- 三、Uniq
- 四、Seq
- 五、Wc
- cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“列”来进行分析的,并不是整篇信息分析的。
语法: cut [选项]... [文件]... 选项: -d:指定分隔符(不支持空格) -f:截取指定列
以冒号为分隔符,取前三行 [root@localhost ~]# head -3 /etc/passwd | cut -d ":" -f 7 /bin/bash /sbin/nologin /sbin/nologin二、Sort
- 对文件中的内容进行排序。
语法: sort [选项]... [文件1]... 选项: -f:忽略字母大小写 -d:只考虑空白区域和字母字符 -b:忽略前导(每行前)的空白区域 -n:根据字符串数值比较,默认使用字符串类型排序 -r:反向排序 -u:删除重复行(uniq命令),配合-c,严格校验排序;不配合-c,则只输出一次排序结果 -t:指定分隔符,默认是制表符 -k n,m:从指定范围排序,从n开始m结束(默认行尾)
- 注意:sort 的排序方式是根据每行第一个字节来进行排序的。
以升序的方式输出(默认升序) [root@bogon test]# cat 1.txt 1 3 2 b a A B [root@bogon test]# sort 1.txt 1 2 3 a A b B 以倒序的方式输出 [root@bogon test]# sort -r 1.txt B b A a 3 2 1
去掉重复的行,可以是不连续
主要就是用来去除文件中连续的重复行
语法: uniq [选项]... [文件] 选项: -c:在行首显示统计该行出现次数 -u:显示没有重复过的行 -i:忽略大小写
统计出 LISTEN (监听) 和 ESTABLISHED (已连接) 出现的次数
[root@bogon test]# netstat -ant | awk /^tcp/'{print $NF}' | sort | uniq -c
1 ESTABLISHED
4 LISTEN
[root@bogon test]# netstat -ant | grep "tcp" | awk '{print $NF}' | sort | uniq -c
1 ESTABLISHED
4 LISTEN
统计网站地址出现次数
[root@localhost ~]# vim test.txt
http://www.163.com
http://www.163.com
http://www.163.com
http://www.baidu.com
http://www.baidu.com
http://www.baidu.com
http://www.baidu.com
http://www.cnblogs.com
http://www.qq.com
http://www.163.com
http://www.baidu.com
http://www.baidu.com
http://www.qq.com
http://www.163.com
http://www.baidu.com
方式一:
[root@localhost ~]# awk -F "[/]+" '{print $2}' test.txt | sort | uniq -c
方式二:
[root@localhost ~]# awk -F "[/]+" '{A[$2]++}END{for (B in A){print B,A[B]}}' test.txt
四、Seq
用于生成一个数到另一个数之间的所有整数
语法: seq [选项]... 尾数 seq [选项]... 首数 尾数 seq [选项]... 首数 增量 尾数 选项: -f:指定输出格式 -s:指定分隔符,默认分隔符是n(回车) -w:指定输出数字同宽,与-f部分作用相似,不可与-f选项同时使用
输出从 1 到 5 的整数
输出从1到10,间隔为2的所有整数,可以用来输出奇数或偶数
指定输出格式
数字位数为三位,不足补空格 [root@localhost test]# seq -f '%3g' 1 5 数字位数为三位,不足补 0 [root@localhost test]# seq -f '%03g' 1 5 在test后面将数字位数为二位,不足补0 [root@localhost test]# seq -f 'test%02g' 1 5
指定分隔符
空格作为分隔符 [root@localhost test]# seq -s ' ' 1 5 中划线作为分隔符 [root@localhost test]# seq -s '-' 1 5
指定输出数字同宽
[root@localhost test]# seq -w 6 11
组合使用
#普通输出 [root@localhost test]# seq 98 102 #输出同宽 [root@localhost test]# seq -w 98 102 #指定分隔符,同宽输出 [root@localhost test]# seq -s'-' -w 98 102五、Wc
wc命令打印每个输入文件的新行、单词和字节数
语法: wc [选项]... [文件]... 选项: -c:统计字节数,包含空格tab键 -m:统计字符数,不能与-c一起使用 -l:统计行数 -L:显示最长行的长度 -w:统计字数,
[root@localhost test]# wc -c 1.txt
[root@localhost test]# wc -m 1.txt
统计行数 [root@localhost test]# wc -l 1.txt
找出最长行长度 [root@localhost test]# wc -L 1.txt
把7777看作一个单词 [root@localhost test]# wc -w 1.txt



