[转帖]010 Linux 文本统计与去重 (wc 和 uniq)

linux,文本,统计,wc,uniq · 浏览次数 : 0

小编点评

**wc 命令的常用组合命令:** * **-l** 或 **--length**:显示文件长度。 * **-w** 或 **--words**:显示文件中的单词数。 * **-m** 或 **--chars**:显示文件中的字符数。 * **-c** 或 **--count**:显示每列重复出现的次数。 * **-d** 或 **--repeated**:只显示重复出现的行。 * **-u** 或 **--unique**:只显示出一次的行。

正文

https://my.oschina.net/u/3113381/blog/5427461

 

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 ...]

  1. -c # 统计字节数
  2. -l # 统计行数
  3. -w # 统计单词数
  4. -m # 统计字符数

3 wc 命令示例

c、l、w、m 用例

read.text 内容如下:

!
hello china!
hello!
china!

file

配合 grep 统计命中的目标行数用例

# grep 正则匹配统计命中的目标行数,wc 命令在后面
grep -E  "(14:41(.)+internal-internal spend)"  002.info.log | wc -l

4 uniq 的常用参数以及配合 sor t 应用示例

uniq 常用参数

uniq 可检查文本文件中重复出现的行,一般与 sort 命令结合使用。

  1. -c 或 --count 在每列旁边显示该行重复出现的次数;
  2. -d 或 --repeated 仅显示重复出现的行;
  3. -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

7 小结

wc 用来统计指定文件中的字节数、行数、单词数、字符数; uniq 可检查文本文件中重复出现的行列。 可对标准输入,配合 grep、sort、find 等命令完成统计、排序、去重。

与[转帖]010 Linux 文本统计与去重 (wc 和 uniq)相似的内容:

[转帖]010 Linux 文本统计与去重 (wc 和 uniq)

https://my.oschina.net/u/3113381/blog/5427461 wc 命令一般是作为组合命令的一员与其他命令一同起到统计的作用。而一般情况下使用 wc -l 命令较多。 uniq 可检查文本文件中重复出现的行,一般与 sort 命令结合使用。一起组合搭配使用完成统计、排序

[转帖]Linux终端:用cat命令查看不可见字符

https://developer.aliyun.com/article/80607 printf 'testing\012\011\011testing\014\010\012more testing\012\011\000\013\000even more testing\012\011\011

[转帖]为非root用户添加NOPASSWD权限

https://www.jianshu.com/p/d1e71bda4b34 查看树莓派默认是怎么为pi用户免去密码 所有配置文件都在 /etc 目录下,免去密码配置文件也不例外。在/etc/sudoers.d/文件夹下可以看到有个 010_pi-nopasswd 文件 sudo cat 101pi

[转帖]mydumper版本0.10.7新特性与原理

mydumper版本0.10.7新特性与原理 https://www.modb.pro/db/100419 1.什么是mydumper?MyDumper是一个数据库的逻辑备份工具,和官方的mysqldump,mysqlpump类似。主要有命令2个工具:mydumper和myloader。 2.Myd

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地