Linux与shell学习(4)- 常用统计命令

排序sort

常用参数:

-b:忽略开头的空白字符
-f:小写字母当做大写
-h:根据存储容量排序
-n:按数字排序
-o:把结果写入文件
-r:以相反顺序排序
-t:指定分隔符,默认为空格
-V:按照数字版本排序
-k:指定排序的关键字,与-t配合使用

举例:
对60MB、10、1000KB、20MB、300KB、5、A、40GB、50KB进行排序

# -h  根据存储容量排队
cat sort_h |sort -h

结果:
在这里插入图片描述

# -r  相反顺序排列
# 不只使用在大小排序上,也可以将内容从后往前打印
cat sort_h |sort -r 

在这里插入图片描述

# -o:输入到指定文件中
cat sort_h |sort -r -o today.txt

将sort_h文件排序后结果打印到today.txt中,可看出当前文件夹下多出today.txt
在这里插入图片描述

# 以.为分隔符进行排序
cat sort_t |sort -t '.'

结果:
在这里插入图片描述
对版本进行排序(先对带有V的排序)
在这里插入图片描述

去重uniq

常用参数:

-c:相同次数
-d:邻近重复行只打印一次
-D:邻近重复行全部打印
-f:跳过前n列的比较
-s:跳过前n个字符的比较
-w:只对每行前n个字符比较

对如下txt内容进行去重处理:

ck141906 pts/0 120.52.147.49
ck140081 pts/13 113.65.231.23
ck140081 pts/12 113.65.231.23
ck140081 pts/4 221.219.101.182
82894931 pts/12 36.112.85.179
18221511 pts/10 223.71.133.42
18221511 pts/2 223.71.133.42
68821400 pts/4 183.63.81.211
18221511 pts/5 223.71.133.42
04300137 pts/0 223.104.212.185
root pts/10 223.71.133.42
18221511 pts/5 223.71.133.42
18221511 pts/4 223.71.133.42
16210504 pts/3 58.33.96.123
xly20456 pts/2 120.52.147.46
ck146119 pts/2 116.237.250.188
ck143117 pts/11 60.208.90.202
ck146119 pts/11 116.237.250.188
ck146119 pts/10 116.237.250.188
70146364 pts/2 106.39.114.134
13863896 pts/9 183.6.105.176
root pts/5 223.71.133.42
18221511 pts/3 223.71.133.42
18221511 pts/9 223.71.133.42
ck153117 pts/5 60.208.90.202
50153372 pts/4 223.104.148.19
ck153117 pts/3 60.208.90.202
18221511 pts/9 223.71.133.42
root pts/5 223.71.133.42
root pts/4 223.71.133.42
18221511 pts/3 223.71.133.42
ck146400 pts/2 112.10.50.241
ck148853 pts/5 219.137.140.149
95015293 pts/9 36.113.11.39
ck141731 pts/14 61.140.133.96
21609891 pts/12 101.230.255.202
95015293 pts/11 36.113.11.39
21609891 pts/10 58.35.66.243
21609891 pts/9 101.230.255.202
21609891 pts/4 101.230.255.202
ck148853 pts/3 119.131.106.44
21609891 pts/5 101.230.255.202
ck141731 pts/2 61.140.133.96
21609891 pts/4 58.35.66.243
21609891 pts/3 58.35.66.243
ck141731 pts/2 61.140.133.96
68949047 pts/13 183.228.90.226
ck144530 pts/10 116.233.212.19
ck153117 pts/3 60.208.90.202
ck146264 pts/0 111.23.244.189
ck153307 pts/12 119.253.43.100
ck143117 pts/12 221.219.101.182
root pts/3 223.71.133.42
50153372 pts/11 117.136.68.46
ck153307 pts/10 119.253.43.100
ck144530 pts/4 116.233.212.19
70146364 pts/10 106.39.114.134
70146364 pts/4 106.39.114.134
26611853 pts/2 111.197.21.141
12221712 pts/0 101.228.81.73
18760789 pts/0 1.95.141.31
ck140752 pts/2 111.202.144.35
ck140752 pts/10 111.202.144.35
ck155454 pts/1 117.149.23.194
81368355 pts/5 220.249.55.194
ck151573 pts/9 124.74.76.126
04300137 pts/5 180.168.96.174
68949047 pts/3 183.228.90.226
08036051 pts/2 182.138.102.27
ck146400 pts/1 112.10.50.241
dx371407 pts/0 111.196.166.76
cat uniq_demo.txt |uniq -c
# 会在结果中第一列打印出现的次数
cat uniq_demo.txt |uniq -f 2
# 跳过前两列进行去重

字符统计wc

常用参数:

-l:行
-c:字符数
-w:单词
-L:最长一行字符数

在wc_demo.txt文件中进行wc练习,文件内容为:
hello world
hi
hogwarts

# 计算行数,返回值为4(最后一行为空)
cat  wc_demo.txt|wc -l
# 计算字符数,结果为25
cat  wc_demo.txt|wc -c
# 计算最长一行的字符数,返回值为11
cat  wc_demo.txt|wc -L
# 计算单词数,返回值为4
cat  wc_demo.txt|wc -w
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值