uniq详解
一.简介
报告或删除文件中重复的行。
uniq 命令读取由 InFile 参数指定的标准输入或文件。该命令首先比较相邻的行,然后除去第二行和该行的后续副本。重复的行一定相邻。(在发出 uniq 命令之前,请使用 sort 命令使所有重复行相邻。)最后,uniq 命令将最终单独的行写入标准输出或由 OutFile 参数指定的文件。InFile 和 OutFile 参数必须指定不同的文件。如果输入文件用“- ”表示,则从标准输入读取;输入文件必须是文本文件。文本文件是包含组织在一行或多行中的字符的文件。这些行的长度不能超出 2048 个字节(包含所有换行字符),并且其中不能包含空字符。
二.语法
uniq [ -c | -d | -u ] [ -f Fields ] [ -s Characters ] [ -Fields ] [ +Characters ] [ InFile [ OutFile ] ]
缺省情况下,uniq 命令比较所有行。如果指定了-f Fields 或 -Fields 标志, uniq 命令忽略由 Fields 变量指定的字段数目。 field 是一个字符串,用一个或多个 <空格 > 字符将它与其它字符串分隔开。
如果指定了 -s Characters 或 +Characters 标志, uniq 命令忽略由 Characters 变量指定的字符数目。为 Fields 和 Characters 变量指定的值必须是正的十进制整数。
当前本地语言环境决定了 -f 标志使用的 <空白> 字符以及 -s 标志如何将字节解释成字符。
如果执行成功,uniq 命令退出,返回值 0。否则,命令退出返回值大于 0。
标志
-c 在输出行前面加上每行在输入文件中出现的次数。它可取代- u和- d选项。
-d 仅显示重复行。
-u 仅显示不重复的行。
-i 忽略大小写。
-f Fields 忽略前Fields个字段。如果 Fields 变量的值超过输入行中的字段数目, uniq 命令用空字符串进行比较。这个标志和 -Fields 标志是等价的。
-Fields 忽略由 Fields 变量指定的字段数目。这个标志和 -f Fields 标志是等价的。
-s Characters 忽略前 Characters个字符。如果 Characters 变量的值超过输入行中的字符的数目, uniq 用空字符串进行比较。如果同时指定 -f 和 -s 标志, uniq 命令忽略由 -s Characters 标志指定的字符的数目,而从由 -f Fields 标志指定的字段后开始。 这个标志和 +Characters 标志是等价的。
+Characters 忽略前 Characters个字符。这个标志和 -s Characters 标志是等价的。
- n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+ n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
- f n 与- n相同,这里n是字段数。
- s n 与+n相同,这里n是字符数。
三. 简例
13 eA
24 eC
31 cC
31 cC
32 cC
42 bE
55 aF
• 全行匹配去重
$ uniq test.txt
13 eA
24 eC
31 cC
32 cC
42 bE
55 aF
• 统计重复行数
$ uniq -c test.txt
1 13 eA
1 24 eC
2 31 cC
1 32 cC
1 42 bE
1 55 aF
• 跳过前两个字符
$ uniq -s 2 test.txt
13 eA
24 eC
31 cC
42 bE
55 aF
• 从第二个字段开始去重
$ uniq -f 1 test.txt
13 eA
24 eC
31 cC
42 bE
55 aF
uniq详解的更多相关文章
- linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
- (转)linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解
linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...
- Shell学习(七)——sort、uniq、cut、wc命令详解
Shell学习(七)--sort.uniq.cut.wc命令详解 转自:[1]linux sort,uniq,cut,wc命令详解 https://www.cnblogs.com/ggjucheng/ ...
- 基础拾遗------redis详解
基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...
- 3.awk数组详解及企业实战案例
awk数组详解及企业实战案例 3.打印数组: [root@nfs-server test]# awk 'BEGIN{array[1]="zhurui";array[2]=" ...
- Linux netstat命令详解
Linux netstat命令详解 一 简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...
- Redis快速入门详解
Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis ...
随机推荐
- JPA中以HibernatePersistence为provider的批量插入问题
为什么要批量插入 要插入10000条数据,如果不批量插入的话,那么我们执行的sql语句将是10000条insert insert into member (group_id, user_id, rol ...
- BZOJ1270: [BeijingWc2008]雷涛的小猫
1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec Memory Limit: 162 MBSubmit: 836 Solved: 392[Submit][ ...
- SQL SERVER 系统存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- MVC4.0系统开发新手历程(四)数据列表查询
任何系统都不可避免的就是数据的查询展示,我觉得这里最值得一说的就是分部视图以及数据分页了 首先添加控制器 在控制其上面的名字为Index的Action上面右击,添加视图即可添加对应的视图,分部视图呈现 ...
- 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
http://blog.csdn.net/panjunbiao/article/details/8615880 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
- TCP头分析+面试题
一.测试程序 我们先用python来写两个测试脚本,非常简单,看代码: 服务端: from socket import * def accept(): sock = socket(AF_INET, S ...
- HDU 4274 Spy's Work (树 DFS)
给定N个点,每个点都有一个唯一的前驱结点(点1为大boss),每个点的实际权值是子节点的求和值.现在给出某些点的权值的估算(> , = , < ),问这些估算是否会有冲突,现在保证每个点的 ...
- Java 常调用的Webservice接口的方法
WebService是基于Web的服务,WebService使用SOAP协议实现跨编程语言和跨操作系统平台,接收和响应外部系统的某种请求,从而实现远程调用.WebService采用HTTP协议传输数据 ...
- pyqt例子下拉列表
#!/usr/bin/env python # -*- coding: utf-8 -*- from PyQt4.QtCore import Qt from PyQt4.QtGui import QC ...
- rac_进行grid自检时提示运行runfixup.sh脚本一例
原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...