12 linux 文件处理工具——cut,sort,uniq,wc

1 cut 数据剪切:

命令选项:

1)-b:以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

2)-c :以字符为单位进行分割。(-c 参数指定切割字符数从起始数到截止数)

3)-d :自定义分隔符,默认为制表符。

4)-f :与-d 一起使用,指定显示哪个区域。

注意:1个字节等于8个bit位,每个bit位有0 1两种状态,也就是说一个字节可以表示256个状态,计算机里用字节来作为最基本的存储单位。
         字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。

举例:

192.168.11.16
[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1|cut -c 1-3
192

2 sort 排序命令:

sort 命令用来排序,通常结合文本工具使用。

命令选项:

1)-f  :忽略大小的差异,例如A与a视为编码相同。

2)-b :忽略最前面的空格符部分。

3)-M:以月份的名字来排序,例如 JAN EDC 等等的排序方法。

4)-n:使用【纯数字】进行排序(默认是以文字型态来排序的)。

192.168.11.42
192.168.11.16
[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort -n
192.168.11.1
192.168.11.1

5)-r:反向排序。

192.168.11.42
192.168.11.16
[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort -r
192.168.22.4
192.168.22.4

6)-u:就是uniq 去重,相同的数据中,仅出现一行代表。

192.168.11.1
192.168.11.1
[root@wangweicentos cut]# ^C
[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort -u
192.168.11.1
192.168.11.100

7)-t:分隔符,默认是用[tab]键来分隔。

8)-k:以哪个区间(field)来进行排序的意思。

192.168.18.181
192.168.11.42
192.168.11.16
[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort -k3
192.168.11.1
192.168.11.1

即以 . 为分隔后的区间进行排序

9)-o:将结果写到文件而非标准输出

3 uniq 去除重复行命令:

uniq命令可以去除排序过后的文件中的重复行,因此 uniq 经常和 sort 合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。

注意:前提条件是必须是先排序过的文本 

命令选项:

1)-c :在每行前加上表示相应行目出现次数的前缀编号

[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort |uniq -c
      3 192.168.11.1
      1 192.168.11.100
      1 192.168.11.121
      1 192.168.11.15
      2 192.168.11.16

2)-d:只输出重复的行

[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort |uniq -d
192.168.11.1
192.168.11.16
192.168.11.42

3)-D:显示所有重复的行

[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort |uniq -D
192.168.11.1
192.168.11.1
192.168.11.1
192.168.11.16
192.168.11.16

4)-u:只显示唯一的行

[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort |uniq -u
192.168.11.100
192.168.11.121
192.168.11.15

4 wc 统计命令

命令选项:

1)-c:统计字节数

2)-l:统计行数

[root@wangweicentos cut]# cat access.log |cut -d ' ' -f1 |sort |uniq -u|wc -l
11

3)-m:统计字符数

4)-w:统计字数

5)-L:打印最长行的长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值