一,uniq干什么用的

文本中的重复行,基本上不是我们所要的,所以就要去除掉。linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个。使用uniq的时候要注意以下二点

1,对文本操作时,它一般会和sort命令进行组合使用,因为uniq 不会检查重复的行,除非它们是相邻的行。如果您想先对输入排序,使用sort -u。

2,对文本操作时,若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符将被跳过

二,uniq参数说明

[zhangy@BlackGhost ~]$ uniq --help

用法:uniq [选项]... [文件]

从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。

不附加任何选项时匹配行将在首次出现处被合并。

长选项必须使用的参数对于短选项时也是必需使用的。

-c, --count //在每行前加上表示相应行目出现次数的前缀编号

-d, --repeated //只输出重复的行

-D, --all-repeated //只输出重复的行,不过有几行输出几行

-f, --skip-fields=N //-f 忽略的段数,-f 1 忽略第一段

-i, --ignore-case //不区分大小写

-s, --skip-chars=N //根-f有点像,不过-s是忽略,后面多少个字符 -s 5就忽略后面5个字符

-u, --unique //去除重复的后,全部显示出来,根mysql的distinct功能上有点像

-z, --zero-terminated end lines with byte, not newline

-w, --check-chars=N //对每行第N 个字符以后的内容不作对照

--help //显示此帮助信息并退出

--version //显示版本信息并退出

其中-z不知道有什么用

三,测试文本文件uniqtest

[zhangy@BlackGhost mytest]$ uniq -c uniqtest

this is a test

i am tank

i love tank

this is a test //和第一行是重复的

whom have a try

WhoM have a try

you have a try

i want to abroad

those are good men

we are good men

四,实例详解

[zhangy@BlackGhost mytest]$ uniq -c uniqtest

this is a test

i am tank

i love tank

this is a test //和第一行是重复的

whom have a try

WhoM have a try

you have a try

i want to abroad

those are good men

we are good men

从上例子中我们可以看出,uniq的一个特性,检查重复行的时候,只会检查相邻的行。重复数据,肯定有很多不是相邻在一起的。

[zhangy@BlackGhost mytest]$ sort uniqtest |uniq -c

WhoM have a try

i am tank

i love tank

i want to abroad

this is a test

those are good men

we are good men

whom have a try

you have a try

这样就可以解决上个例子中提到的问题

[zhangy@BlackGhost mytest]$ uniq -d -c uniqtest

this is a test

i love tank

uniq -d 只显示重复的行

[zhangy@BlackGhost mytest]$ uniq -D uniqtest

this is a test

this is a test

this is a test

i love tank

i love tank

uniq -D 只显示重复的行,并且把重复几行都显示出来。他不能和-c一起使用

[zhangy@BlackGhost mytest]$ uniq -f -c uniqtest

this is a test

i am tank

i love tank

this is a test

whom have a try

you have a try

i want to abroad

those are good men //只有一行,显示二行

在这里those只有一行,显示的却是重复了,这是因为,-f 1 忽略了第一列,检查重复从第二字段开始的。

[zhangy@BlackGhost mytest]$ uniq -i -c uniqtest

this is a test

i am tank

i love tank

this is a test

whom have a try //一个大写,一个小写

you have a try

i want to abroad

those are good men

we are good men

检查的时候,不区分大小写

[zhangy@BlackGhost mytest]$ uniq -s -c uniqtest

this is a test

i am tank

i love tank

this is a test

whom have a try //根上一个例子有什么不同

i want to abroad

those are good men

we are good men

检查的时候,不考虑前4个字符,这样whom have a try 就和 you have a try 就一样了。

[zhangy@BlackGhost mytest]$ uniq -u uniqtest

i am tank

this is a test

whom have a try

WhoM have a try

you have a try

i want to abroad

those are good men

we are good men

去重复的项,然后全部显示出来

[zhangy@BlackGhost mytest]$ uniq -w -c uniqtest

this is a test

i am tank

this is a test

whom have a try

WhoM have a try

you have a try

i want to abroad

those are good men

we are good men

对每行第2个字符以后的内容不作检查,所以i am tank 根 i love tank就一样了。

uniq linux下去除重复行命令

一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

linux 下删除重复行-- uniq 与 awk

$ cat file liw liw liw hdsui mdksjd liw $ cat file | uniq -u # 只删除相邻的,不保留重复行 hdsui mdksjd liw $ cat ...

Linux合并文件、去除重复行的命令

Linux合并文件命令: awk '{printf("%s\n",$0)}' YQ-*101?.txt >  123.txt   linux去除重复行命令:cat YQ-10 ...

linux shell脚本查找重复行/查找非重复行/去除重复行/重复行统计

转自:http://blog.sina.com.cn/s/blog_6797a6700101pdm7.html 去除重复行 sort file |uniq 查找非重复行 sort file |uniq ...

[工具] 如何利用Notepad++去除重复行

问题: 需要去除重复数据, 例如: 解决方案: 1. 打开notepad++: 2. 如果没有找到"TextFx" 选项, 需要先安装该插件. 依次打开"插件" ...

DataTable去除重复行

//抽取dt中的特定列"Region","Cur","Year"组合成新的dat DataTable dat = dt.DefaultVie ...

【shell】awk按域去除重复行

首先解释一下什么叫“按域去除重复行”: 有的时候我们需要去除的重复行并不是整行都重复,两行的其中一列的元素相同我们有的时候就需要认定这两行重复,因此有了今天的内容. 去除重复行shell有一个原生命令 ...

linux下使用无线网卡的命令行方法(wifi,iwconfig)

linux去除内容重复行,实例详细说明linux下去除重复行命令uniq相关推荐

  1. linux排列去重复的命令,实例详细说明linux下去除重复行命令uniq

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  2. linux sed后 保存文本,实例详解linux文本三剑客--sed

    sed 简介 sed是一种流编辑器,以行为单位进行文本处理,可以将数据行进行替换.删除.新增.选取等操作. sed [options] 'command' file(s) 基本命令 匹配内容 $ se ...

  3. menisa mysql_实例详细说明linux下去除重复行命令uniq

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  4. 红帽LINUX设计内容500个字,为 Redhat Linux 添加新字体

    /*************************************************************************** * File: $HOME/Projects/ ...

  5. linux 按名字查找文件夹,详细解读linux系统中使用Find命令查找文件

    摘要:文件查找是一个经常用到的功能,在linux系统中查找文件的命令比较多:find.locate.whereis .which等,今天心月就来详细解读find文件查找命令的使用. 文件查找是一个经常 ...

  6. 远程修改linux文件内容,用VS Code连接远程Linux服务器实时修改代码

    安装Remote SSH插件并使用 3.1安装 然后去vs code里面搜索remote ssh就可以看到该插件,点击安装即可. 3.2界面改变 安装完该插件后我们可以看到我们的侧栏已经多了一个远程的 ...

  7. linux用pwd转换到系统目录,详细讲解Linux系统中pwd命令的使用技巧

    对于那些使用Linux命令行的人来说,'pwd'命令是非常有用的,它告诉你你现在在那个目录,从根目录(/)如何到达.特别是对于或许会在目录的切换间容易糊涂的Linux新手而言,'pwd' 可以拯救他们 ...

  8. linux文件内容乱码怎么解决,window到linux文件名乱码和文件内容乱码解决总结

    window系统一般文件名编码为gbk,文件内容编码这个需要通过编辑器查看或者设置,找个editplus文本编辑器就可以处理文本内容编码. 那么在window上显示正常的文件到linux上的时候,常常 ...

  9. linux缓冲区内容占用较多什么原因,Linux中Cache内存占用太高解决办法

    在Linux系统中,咱们常常用free命令来查看系统内存的使用状态.在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态:html 这里的默认显示单位是kb,个人服务器是128G内存,因 ...

  10. Linux 查看系统里已安装的字体,linux安装中文字体宋体实例演示,linux没有中文字体导致的乱码问题解决

    把字体存放到 /root/usr/share/fonts 或 /usr/share/fonts 目录下,可以创建文件夹来存放对应的字体,比如我这里要安装宋体,我建了个 song 的文件夹. 字体获取: ...

最新文章

  1. 每次hexo d部署后都要在github仓库上重新保存域名
  2. IDEA常用快捷键【win-mac对比】
  3. SpringCloud Ribbon中的7种负载均衡策略!
  4. python修改xml标签的值_对python修改xml文件的节点值方法详解
  5. 黑客利用 Gatekeeper 0day 攻击 MacOS 计算机
  6. PHP许愿墙的经济可行性,深入PHP许愿墙模块功能分析
  7. python如何获取免费的可以商用的字体
  8. 转载:子网掩码以及子网划分
  9. 程序员副业那些事:聊聊出书和录视频
  10. Irvue for Mac(苹果壁纸软件)
  11. img 获取二次元图片地址
  12. 若语句char a = ‘\72‘; 则变量a包含几个字符?‘\72‘是否在ASCII值的范围之内?
  13. 【问题描述】编写一个程序计算出球、圆柱和圆锥的表面积和体积。
  14. Linux centOS 7下安装配置Tomcat
  15. 利用pyecharts显示微信好友性别比例
  16. 开工第一周,我劝你离开“独裁”的老板
  17. WoShop分销积分直播短视频商城全开源无加密商城源码
  18. 电脑坏了--关于联想笔记本声卡驱动
  19. 本科数学专业基础类课程
  20. 本科计算机在北京混得下去吗,在北京混下去必须经历的八个阶段

热门文章

  1. 【故障分析】基于matlab GUI鼠笼式异步电机转子断条故障诊断【含Matlab源码 1089期】
  2. 【动力学】基于matlab GUI汽车动力学分析系统【含Matlab源码 1050期】
  3. 【数字信号去噪】基于matlab奇异值分解(SVD)数字信号降噪【含Matlab源码 1020期】
  4. 【数字信号调制】基于matlab二进制数字相位调制(2PSK)【含Matlab源码 1000期】
  5. qt调用import sys库_【开源库】使用Qt.py进行开发
  6. linux img提取文件系统,Linux系统获取开发板的文件系统并打包成img文件
  7. log添加 oracle redo_Redo Log之一:理解Oracle redo log
  8. 多路抢答器c语言编程,多路抢答器的设计
  9. java看视频可以学会吗,看it教程视频自学Java编程可以学会吗?
  10. 网件R8000路由器怎么云存储_给大姐姐换个“控制中心”——NETGEAR 网件 R7800 AC2600M 路由器 简晒_路由器...