010 Linux 文本统计与去重 (wc 和 uniq)

wc 命令一般是作为组合命令的一员与其他命令一同起到统计的作用。而一般情况下使用wc -l 命令较多。
uniq 可检查文本文件中重复出现的行,一般与 sort 命令结合使用。一起组合搭配使用完成统计、排序、去重。
1 wc 常用组合命令
- ls | wc -l # 统计当前文件夹下,文件数量;
- ls *.txt | wc -l # 统计当前文件夹下、第一层目录下所有的txt文件数量;
- find . -maxdepth 1 -name '*.txt' | wc -l # 统计当前文件夹、第一层目录下所有的txt文件数量;
2 wc 基本参数和格式
命令格式: wc [-clmw] [file ...]
- -c # 统计字节数
- -l # 统计行数
- -w # 统计单词数
- -m # 统计字符数
3 wc命令示例
c、l、w、m 用例
read.text 内容如下:
!
hello china!
hello!
china!

配合 grep 统计命中的目标行数用例
# grep 正则匹配统计命中的目标行数,wc 命令在后面
grep -E "(14:41(.)+internal-internal spend)" 002.info.log | wc -l
4 uniq 的常用参数以及配合 sor t应用示例
uniq 常用参数
uniq 可检查文本文件中重复出现的行,一般与 sort 命令结合使用。
- -c或--count 在每列旁边显示该行重复出现的次数;
- -d或--repeated 仅显示重复出现的行;
- -u或--unique 仅显示出一次的行;
info.log 内容如下:
111,222,333
111,222,333
333,444,555
xxx,yyy,zzz
cat info.log |sort -r
xxx,yyy,zzz
333,444,555
111,222,333
111,222,333
cat info.log |sort|uniq
111,222,333
333,444,555
xxx,yyy,zzz
cat info.log |sort -r|uniq -u
xxx,yyy,zzz
333,444,555
cat info.log |sort -r|uniq -d
111,222,333
cat info.log |sort -r|uniq -c
1 xxx,yyy,zzz
1 333,444,555
2 111,222,333
5 案例一(文本统计)
有一个 b. txt 文本(内容如下),要求将所有域名截取出来,并统计重复域名出现的次数。
http://www.baidu.com/index.html
https://www.atguigu.com/index.html
http://www.sina.com.cn/1024.html
https://www.atguigu.com/2048.html
http://www.sina.com.cn/4096.html
https://www.atguigu.com/8192.html
命令和结果
cat b.txt |cut -d "/" -f3 |sort| uniq -c|sort -nr
3 www.atguigu.com
2 www.sina.com.cn
1 www. baidu.com
# cut -d "/" -f3 用"/"作为分隔符,截取第个3字段
# sort 第一次排序
# uniq -c 显示该行重复次数
# sort -nr 按照数值从大到小排序
6 案例二( ip 连接数统计并排序)
统计当前服务器正在连接的 ip 地址,并按连接次数排序;
netstat -an I grep ESTABLISHED | awk '{print $5}' | cut -d ":" -f1 | sort -n | uniq -c | sort -nr
小结
wc 用来统计指定文件中的字节数、行数、单词数、字符数;
uniq 可检查文本文件中重复出现的行列。
可对标准输入,配合 grep、sort、find 等命令完成统计、排序、去重。
「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!
010 Linux 文本统计与去重 (wc 和 uniq)的更多相关文章
- linux上文件内容去重的问题uniq/awk
1.uniq:只会对相邻的行进行判断是否重复,不能全文本进行搜索是否重复,所以往往跟sort结合使用. 例子1: [root@aaa01 ~]# cat a.txt 12 34 56 12 [root ...
- linux上文件内容去重的问题uniq/awk 正则表达过滤操作
.uniq:只会对相邻的行进行判断是否重复,不能全文本进行搜索是否重复,所以往往跟sort结合使用. 例子1: [root@aaa01 ~]# cat a.txt 12 34 56 12 [root@ ...
- linux日志分割、去重、统计
一.实例 单条日志模板: 2018-11-08 02:17:22 [Iceberg]process params:IcebergOfferServiceImpl.Params(pk=BF06NA2YE ...
- linux wc 的用法-linux 下统计行数、单词数、字符个数
linux wc 的用法-linux 下统计行数.单词数.字符个数 wc : wc -l 统计有多少行 wc -w 统计有多少个单词 wc -c 统计有多少个字符
- Linux 文本去重 之 命令sort 与 uniq
sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序 ...
- linux文本处理命令
linux文本处理命令 1.wc命令 基本介绍 文件的行统计.字符统计.字节统计 基本语法 wc [OPTION]... [FILE]... wc [OPTION]... --files0-f ...
- Linux文本处理三剑客之grep及正则表达式详解
Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...
- Linux文本查看工具
文本查看工具 cat 特点: 不能用来看二进制文件 选项: -A: 显示不可见字符 cat支持标准输入: cat > aa.txt ---键盘作为标准输入,输出的结果重定向文件中去了 cat & ...
- Linux文本相关命令
Linux文本相关命令 目录 Linux文本相关命令 文本排序命令 文本去重命令 基础命令cut 文本三剑客 sed awk grep 文本排序命令 sort 常用参数: -n:以数值大小进行排序 - ...
随机推荐
- 【LeetCode】704. Binary Search 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 线性查找 二分查找 日期 题目地址:https:// ...
- 【LeetCode】92. Reverse Linked List II 解题报告(Python&C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 迭代 递归 日期 题目地址:https://leet ...
- 【LeetCode】93. Restore IP Addresses 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯法 日期 题目地址:https://leetco ...
- python学习第五天:python基础(string、list、tuple)
首先,什么是sequence(序列)操作? 字符串的特性被称为sequence(序列) H o w a r e y o u ? 就好像存储在一个个连续的单元格里面,每个单元格存储一个字符,每个字符就是 ...
- 写了个适用于vscode的minio图床客户端插件
缘起 自己搭建minio做我的个人博客图床好一段时间了, 一直用minio自带的web管理后台来上传图片, 它的界面长下面这个样子 上传完后, 需要点下文件列表里刚刚传上去的文件的分享按钮 然后会出来 ...
- 「Codeforces 468C」Hack it!
Description 定义 \(f(x)\) 表示 \(x\) 的各个数位之和.现在要求 \(\sum_{i=l}^rf(i)\bmod a\). 显然 ans=solve(l,r)%a; if(a ...
- Denoising Diffusion Probabilistic Models (DDPM)
目录 概 主要内容 Diffusion models reverse process forward process 变分界 损失求解 最后的算法 细节 代码 Ho J., Jain A. and A ...
- 初识python: for循环之“两数之和”
需求:给定一个数字列表和一个目标值,找出列表中和为目标值的两个数: #!/user/bin env python # author:Simple-Sir # time:20180913 # 给定一个整 ...
- [ vue ] 解耦vuex(按照组件来组织vuex的结构)
问题描述 随着应用复杂度的增加,vuex用一个 store/index.js 文件来描述已经很难维护了,我们想把这些状态分割到单独文件里面. 参考1:https://vuex.vuejs.org/zh ...
- js 动态设置键值对数组 ,类似于 java 的Map 类型
1.前言 我想设置一个数据 var json = {a1 :1 , a2 :2 , a3 :3 .....} 这样的动态数据 ,怎么写呢? 2.正确写法 var json = []; for ...