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!

配合 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

小结

wc 用来统计指定文件中的字节数、行数、单词数、字符数;

uniq 可检查文本文件中重复出现的行列。

可对标准输入,配合 grep、sort、find 等命令完成统计、排序、去重。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

010 Linux 文本统计与去重 (wc 和 uniq)的更多相关文章

  1. linux上文件内容去重的问题uniq/awk

    1.uniq:只会对相邻的行进行判断是否重复,不能全文本进行搜索是否重复,所以往往跟sort结合使用. 例子1: [root@aaa01 ~]# cat a.txt 12 34 56 12 [root ...

  2. linux上文件内容去重的问题uniq/awk 正则表达过滤操作

    .uniq:只会对相邻的行进行判断是否重复,不能全文本进行搜索是否重复,所以往往跟sort结合使用. 例子1: [root@aaa01 ~]# cat a.txt 12 34 56 12 [root@ ...

  3. linux日志分割、去重、统计

    一.实例 单条日志模板: 2018-11-08 02:17:22 [Iceberg]process params:IcebergOfferServiceImpl.Params(pk=BF06NA2YE ...

  4. linux wc 的用法-linux 下统计行数、单词数、字符个数

    linux wc 的用法-linux 下统计行数.单词数.字符个数   wc : wc -l 统计有多少行 wc -w 统计有多少个单词 wc -c 统计有多少个字符

  5. Linux 文本去重 之 命令sort 与 uniq

    sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序 ...

  6. linux文本处理命令

    linux文本处理命令 1.wc命令 基本介绍 文件的行统计.字符统计.字节统计 基本语法 wc  [OPTION]...  [FILE]... wc  [OPTION]...  --files0-f ...

  7. Linux文本处理三剑客之grep及正则表达式详解

    Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...

  8. Linux文本查看工具

    文本查看工具 cat 特点: 不能用来看二进制文件 选项: -A: 显示不可见字符 cat支持标准输入: cat > aa.txt ---键盘作为标准输入,输出的结果重定向文件中去了 cat & ...

  9. Linux文本相关命令

    Linux文本相关命令 目录 Linux文本相关命令 文本排序命令 文本去重命令 基础命令cut 文本三剑客 sed awk grep 文本排序命令 sort 常用参数: -n:以数值大小进行排序 - ...

随机推荐

  1. 「算法笔记」Splay

    一.简介 Splay(伸展树)是平衡树中的一种.它通过不断将某个节点旋转到根节点的位置,使整棵树仍满足 BST 的性质,并且保持平衡而不至于退化为链. 频繁访问的节点会被移动到离根节点较近的位置,进而 ...

  2. [git]git重连

    使用以下两个命令清理缓存进行ssh清除:$ssh-keygen -f "/home/leoxae/.ssh/known_hosts" -Rxxx.xxx.xxx.xxx(指定IP) ...

  3. win下如何优雅的使用 Burp Suite最新版

    众所周知国内我们使用的 Burp Suite 大多数是大佬们分享出来的专-业-破-jie-版的 Burp Suite,每次启动的时候都得通过加载器来启动 Burp Suite,那有没有更加优雅的方式呢 ...

  4. 使用 jQuery 中的淡入淡出动画,实现图片的轮播效果,每隔 2 秒钟切换一张图片,共 6 张图片

    查看本章节 查看作业目录 需求说明: 使用 jQuery 中的淡入淡出动画,实现图片的轮播效果,每隔 2 秒钟切换一张图片,共 6 张图片,切换到第 6 张后从头开始切换,在图片的下方显示 6 个小圆 ...

  5. Pycharm的界面修改与基本设置

    Pycharm的一些基本设置 设置字体大小与字体样式 首先我们打开Pycharm,点击左上角File,找到sitting 点击后就能进入设置界面 xdm,我将介绍两种更改字体的设置 方法一 设置界面找 ...

  6. cpuinfo基本参数讲解

    1.首先我们明确几个概念  (1)物理CPU                             物理cpu数量,实际服务器中插槽上的CPU个数 实例: [root@kvm01 ~]# cat / ...

  7. 第三代微服务架构:基于 Go 的博客微服务实战案例,支持分布式事务

    这是一个可一键部署在 Kubernetes-Istio 集群中的,基于 Golang 的博客微服务 Demo,支持分布式事务. 项目地址:https://github.com/jxlwqq/blog- ...

  8. Linux7系统开通防火墙端口

    一.查看防火墙状态 查看防火墙状态 systemctl status firewalld 开启防火墙 systemctl start firewalld 关闭防火墙 systemctl stop fi ...

  9. Centos7下yum安装mydql8

    昨天安装mydql时总是报错缺少插件,虽然最后安装上了,但还是在此记录下 一. 安装centos7系统系统 在选择安装基本环境时,选择基本环境为"网页服务器",昨天我因为选择了&l ...

  10. 安装devstack中遇到的一些问题整理

    1.执行stack.sh文件后提示 ./stack.sh:528:check_path_perm_sanity /opt/devstack/functions:582:die [ERROR] /opt ...