Linux命令:uniq命令和wc命令

2024-03-04 14:12
文章标签 linux 命令 wc uniq

本文主要是介绍Linux命令:uniq命令和wc命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1 uniq命令
    • 1.1 uniq简介
    • 1.2说明
    • 1.3案例
      • 1、默认输出
      • 2、输出重复行
      • 3、比较一行中的部分字符
      • 4、忽略大小写
      • 5、只显示唯一的行
    • 2.4 uniq和sort命令配合使用
      • 1、文本统计
      • 2、统计IP连接数并排序
  • 2 wc命令
    • 2.1 wc简介
    • 2.2 说明
    • 2.3 案例
      • 1、默认输出
      • 2、输出字节、字符数、单词数
  • 总结

1 uniq命令

1.1 uniq简介

uniq 命令用于检查及删除文本文件中重复出现的行列。它通过对输入文本进行比较,找出相邻的重复行,并只输出其中的一行。如果文件没有排序,uniq 默认只会删除相邻的重复行,不会删除不相邻的重复行。因此,通常在使用 uniq 之前,会先使用 sort 命令对文件进行排序。

1.2说明

使用:uniq [OPTION]… [INPUT [OUTPUT]]
常用参数:

  • -c:在每行前面显示该行重复出现的次数
  • -d:只输出重复的行,每个组打印一行
  • -D:打印所有重复的行
  • -f, --skip-fields=N:比较时会跳过前面N行
  • -i:比较时忽略大小写
  • -s, --skip-chars=N:比较时会跳过前面N个字符
  • -u:只显示唯一的一行
  • -z:行分隔符是NUL,而不是换行符
  • -w, --check-chars=N:只比较每行前N个字符,之后的字符不再比较
  • –help:查看帮助信息
  • –version:显示版本信息

1.3案例

先编写一个测试文件

root@con02:~# cat a
abcd
abcd
2374hd67
2374fb;ll
Abcd
abcd
2737834
ijnk
098j  dhyyi
7hyt  fhyyi
ijnk
2374fb;llroot@con02:~#

1、默认输出

root@con02:~# uniq a
abcd
2374hd67
2374fb;ll
Abcd
abcd
2737834
ijnk
098j  dhyyi
7hyt  fhyyi
ijnk
2374fb;llroot@con02:~#
统计行数
root@con02:~# uniq  -c a2 abcd1 2374hd671 2374fb;ll1 Abcd1 abcd1 27378341 ijnk1 098j  dhyyi1 7hyt  fhyyi1 ijnk1 2374fb;ll1
root@con02:~# cat a |uniq -c2 abcd1 2374hd671 2374fb;ll1 Abcd1 abcd1 27378341 ijnk1 098j  dhyyi1 7hyt  fhyyi1 ijnk1 2374fb;ll1
# sort和uniq命令配合使用      
root@con02:~# sort a |uniq -c11 098j  dhyyi2 2374fb;ll1 2374hd671 27378341 7hyt  fhyyi3 abcd1 Abcd2 ijnk
root@con02:~#

2、输出重复行

# -d 和 -D都是输出重复行
# -d:重复行只输出一次
# -D:输出所有重复行root@con02:~# uniq -d a
abcd
root@con02:~# uniq -D a
abcd
abcd
root@con02:~#

3、比较一行中的部分字符

# -s:会跳过前面N个字符,只比较后面的字符
# -w:只比较前面N个字符,之后的字符不再比较root@con02:~# uniq -s 7 -c a2 abcd1 2374hd671 2374fb;ll4 Abcd2 098j  dhyyi1 ijnk1 2374fb;ll1
root@con02:~# uniq -s 6 -c a2 abcd1 2374hd671 2374fb;ll2 Abcd1 27378341 ijnk1 098j  dhyyi1 7hyt  fhyyi1 ijnk1 2374fb;ll1root@con02:~# uniq -w 4 -c a2 abcd2 2374hd671 Abcd1 abcd1 27378341 ijnk1 098j  hyyi1 7hyt  hyyi1 ijnk1 2374fb;ll1
root@con02:~# uniq -w 5 -c a2 abcd1 2374hd671 2374fb;ll1 Abcd1 abcd1 27378341 ijnk1 098j  dhyyi1 7hyt  fhyyi1 ijnk1 2374fb;ll1
root@con02:~#

4、忽略大小写

root@con02:~# uniq -i -c a2 abcd1 2374hd671 2374fb;ll2 Abcd1 27378341 ijnk1 098j  dhyyi1 7hyt  fhyyi1 ijnk1 2374fb;ll1
root@con02:~#

5、只显示唯一的行

root@con02:~# uniq -u -c a1 2374hd671 2374fb;ll1 Abcd1 abcd1 27378341 ijnk1 098j  dhyyi1 7hyt  fhyyi1 ijnk1 2374fb;ll1
root@con02:~#

2.4 uniq和sort命令配合使用

1、文本统计

有一个 a 文本,要求将所有包含abcd和2374的字符过滤出来,并统计这些字符重复出现的次数。

cat a |grep -iE "abcd|2374"|sort|uniq -c|sort  -nr2 abcd2 2374fb;ll1 abcdNUL1 Abcd1 2374hd67# grep -iE "abcd|2374" : 先过滤包含abcd或2374的字符
# sort:进行过滤
# uniq -c 显示该行重复次数
# sort -nr 按照数值从大到小排序

2、统计IP连接数并排序

netstat -antp I grep ESTABLISHED|grep -E "([0-9]{1,3}.){3}[0-9]{1,3}" | awk '{print $5}' | cut -d ":" -f1 | sort -n | uniq -c | sort -nr5 0.0.0.03 127.0.0.1...

2 wc命令

2.1 wc简介

wc 命令可以统计文本文件中的字符数、单词数和行数。它对于快速获取文件的统计信息非常有用,比如检查文件的大小、评估文本内容的长度等。wc 命令可以处理各种类型的文本文件,包括纯文本文件、源代码文件等。

2.2 说明

使用:

  • wc [OPTION]… [FILE]…
  • wc [OPTION]… --files0-from=F

常用参数:

  • -c, --bytes:输出字节数
  • -m, --chars:输出字符数
  • -l, --lines:输出行数
  • -L, --max-line-length:显示最长行的长度
  • -w, --words:输出单词数

2.3 案例

测试文件

root@con02:~# cat a
abcd
abcd
2374hd67
2374fb;ll
Abcd
abcdNUL
2737834
ijnk
098j  dhyyi
7hyt  fhyyi
ijnk
2374fb;llroot@con02:~#

1、默认输出

wc a
13 14 95 a
# 输出内容分别为:行数 字数 字节数 文件
# 如果查看多个文件,会在最后输出每一项的总和wc a /etc/passwd13   14   95 a36   52 1958 /etc/passwd49   66 2053 total
输出行数
root@con02:~# wc -l a
13 a
root@con02:~#

2、输出字节、字符数、单词数

# 输出字节数
root@con02:~# wc -c a
95 a
# 输出字符数
root@con02:~# wc -m a
95 a
# 输出单词数
root@con02:~# wc -w a
14 a
root@con02:~#
输出最长行的长度
root@con02:~# wc -L a
11 a
root@con02:~#

总结

sort命令、wc命令、uniq命令一般都会组合配合使用,再配和grep、awk和cut命令,在实际查询中很常用,尤其是在shell脚本中,所以这几个命令都需要掌握好。

这篇关于Linux命令:uniq命令和wc命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773450

相关文章

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或