Shell中uniq命令的用法

2023-12-25 08:18
文章标签 命令 用法 shell uniq

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

一、uniq命令的作用

报告或忽略文件中的重复行,一般与sort命令结合使用

二、使用格式

语法:uniq (选项) (参数)

选项列表:

  • -c或–count:在每列旁边显示该行重复出现的次数
  • -d或–repeated:仅显示重复出现的行列
  • -f<栏位>或–skip-fields=<栏位>:忽略比较指定的栏位
  • -s<字符位置>或–skip-chars=<字符位置>:忽略比较指定的字符
  • -u或–unique:仅显示出一次的行列
  • -w<字符位置>或–check-chars=<字符位置>:指定要比较的字符

参数:

  • 输入文件:指定要去除重复行的文件。如果不指定此项,则从标准读取数据
  • 输出文件:指定要去除重复行后的内容要写入的输出文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)

三、举例

初始数据:text.txt

abcdefg
abcdefg
higklmn
opqrstu
abcdscd
vwxyz

3.1 获得去重后的行数据

uniq text.txt

输出结果:

abcdefg
higklmn
opqrstu
abcdscd
vwxyz

3.2 排序➕去重

方法1

sort text.txt | uniq

方法2:

sort -u text.txt

输出结果:

abcdefg
abcdscd
higklmn
opqrstu
vwxyz

3.3 只获取并显示不重复的行数据

uniq -u text.txt

输出结果:不显示abcdefg这种重复的行数据

higklmn
opqrstu
abcdscd
vwxyz

3.4 排序+显示不重复的行

sort text.txt | uniq -u

输出结果:

abcdscd
higklmn
opqrstu
vwxyz

3.5 统计各行在文件中出现的次数

sort text.txt | uniq -c

输出结果:

 2 abcdefg1 abcdscd1 higklmn1 opqrstu1 vwxyz

3.6 在文件中找出重复的行

sort text.txt | uniq -d

输出结果:

abcdefg

这篇关于Shell中uniq命令的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符

Java序列化之serialVersionUID的用法解读

《Java序列化之serialVersionUID的用法解读》Java序列化之serialVersionUID:本文介绍了Java对象的序列化和反序列化过程,强调了serialVersionUID的作... 目录JavChina编程a序列化之serialVersionUID什么是序列化为什么要序列化serialV

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

交换机救命命令手册! 思科交换机排障命令汇总指南

《交换机救命命令手册!思科交换机排障命令汇总指南》在交换机配置与故障排查过程中,总会遇到那些“关键时刻靠得住的命令”,今天我们就来分享一份思科双实战命令手册... 目录1. 基础系统诊断2. 接口与链路诊断3. L2切换排障4. L3路由与转发5. 高级调试与日志6. 性能与QoS7. 安全与DHCP8.

故障定位快人一步! 华为交换机排障命令汇总

《故障定位快人一步!华为交换机排障命令汇总》在使用华为交换机进行故障排查时,首先需要了解交换机的当前状态,通过执行基础命令,可以迅速获取到交换机的系统信息、接口状态以及配置情况等关键数据,为后续的故... 目录基础系统诊断接口与链路诊断L2切换排障L3路由与转发高级调试与日志性能、安全与扩展IT人无数次实战

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(