- 浏览: 266247 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
1260533105:
uncaught invalidstateerror:Fail ...
WebSocket -
sh747665463:
压力好大啊
【转】如果你不知道接下去学什么,就看这个
一、uniq干什么用的
linux下去除文本重复行的命令之一。从网上看来两个注意事项:
1,对文本操作时,它一般会和sort命令进行组合使用,因为uniq 不会检查重复的行,除非它们是相邻的行。如果您想先对输入排序,使用sort -u。
2,对文本操作时,若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符将被跳过
二、uniq参数说明
用法: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 0 byte, not newline
-w, --check-chars=N //对每行第N 个字符以后的内容不作对照
--help //显示此帮助信息并退出
--version //显示版本信息并退出
三,测试文本文件uniqtest
- this is a test
- this is a test
- this is a test
- i am tank
- i love 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
- 3 this is a test
- 1 i am tank
- 2 i love tank
- 1 this is a test //和第一行是重复的
- 1 whom have a try
- 1 WhoM have a try
- 1 you have a try
- 1 i want to abroad
- 1 those are good men
- 1 we are good men
从上例子中我们可以看出,uniq的一个特性,检查重复行的时候,只会检查相邻的行。重复数据,肯定有很多不是相邻在一起的。
- [zhangy@BlackGhost mytest]$ sort uniqtest |uniq -c
- 1 WhoM have a try
- 1 i am tank
- 2 i love tank
- 1 i want to abroad
- 4 this is a test
- 1 those are good men
- 1 we are good men
- 1 whom have a try
- 1 you have a try
这样就可以解决上个例子中提到的问题
- [zhangy@BlackGhost mytest]$ uniq -d -c uniqtest
- 3 this is a test
- 2 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 1 -c uniqtest
- 3 this is a test
- 1 i am tank
- 2 i love tank
- 1 this is a test
- 2 whom have a try
- 1 you have a try
- 1 i want to abroad
- 2 those are good men //只有一行,显示二行
在这里those只有一行,显示的却是重复了,这是因为,-f 1 忽略了第一列,检查重复从第二字段开始的。
- [zhangy@BlackGhost mytest]$ uniq -i -c uniqtest
- 3 this is a test
- 1 i am tank
- 2 i love tank
- 1 this is a test
- 2 whom have a try //一个大写,一个小写
- 1 you have a try
- 1 i want to abroad
- 1 those are good men
- 1 we are good men
检查的时候,不区分大小写
- [zhangy@BlackGhost mytest]$ uniq -s 4 -c uniqtest
- 3 this is a test
- 1 i am tank
- 2 i love tank
- 1 this is a test
- 3 whom have a try //根上一个例子有什么不同
- 1 i want to abroad
- 1 those are good men
- 1 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 2 -c uniqtest
- 3 this is a test
- 3 i am tank
- 1 this is a test
- 1 whom have a try
- 1 WhoM have a try
- 1 you have a try
- 1 i want to abroad
- 1 those are good men
- 1 we are good men
对每行第2个字符以后的内容不作检查,所以i am tank 根 i love tank就一样了。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/shell/1022.html
发表评论
-
转:Linux内核参数详解
2018-07-20 17:34 517https://blog.csdn.net/yueguan ... -
ipmitool
2018-07-17 17:53 756一、开关机,重启 1. ... -
awk 分组统计
2018-04-15 09:27 1337cat * |grep 'java.lang.ClassNot ... -
numa关闭
2016-10-20 09:54 1551zone_reclaim_mode参数为1,numa并没有关 ... -
shell单引号,双引号,反引号与反斜杠
2016-07-03 09:40 1207单引号:强调是什么就是什么不替换任何东西,会忽略任何引用值, ... -
shell 判断条件
2016-07-03 09:26 418前言: 无论什么编程语言都离不开条件判 ... -
转:linux 文件系统IO性能优化
2016-05-23 08:53 973对于LINUX SA来说,服 ... -
yum install 安装路径
2016-03-08 19:07 636一般是 /usr/local 一般一个软件是要复制多个文件 ... -
转:linux系统mysql安装后文件分布情况
2016-01-19 20:31 0MySQL安装完成后不象SQL Server默认安装在一个目 ... -
shell控制语句
2016-01-09 09:50 491linux shell有一套自己的流程控制语句,其中包括条件 ... -
shell for 循环
2016-01-09 09:40 0关于shell中的for循环用法很多,一直想总结一下,今天网 ... -
posrt 排序工具并行工作--快
2012-11-05 14:28 898一个文件n列,假设需要按照文件的第2列排序,第二列是in ... -
清理linux 系统缓存
2012-10-31 16:52 925echo 3 > /proc/sys/vm/drop_c ... -
关闭SELinux
2012-07-22 19:13 0关闭SELinux的方法: 修改/etc/seli ... -
grep+sed 全文件夹替换
2012-06-17 21:25 1341grep aaa -rl ./test |xargs s ... -
vim 查找替换
2012-06-04 16:58 891vi/vim 中可以使用 :s ... -
vi常用命令
2012-05-22 20:11 8971、复制多行,并粘贴 ... -
linux多文件替换关键字
2012-06-04 16:57 1034现在网上这样的方法只有两种,一种是Mahuinan法,一种是S ... -
TCP 参数
2012-01-16 15:25 2439net.ipv4.tcp_max_tw_buckets ... -
转:linux下tomcat自启动
2011-11-24 17:23 9791. 准备 RedHat 9.0(原则上 RH7,8,9 ...
相关推荐
我们应当注意的是,它和sort的区别,sort只要有重复行,它就去除,而uniq重复行必须要连续,也可以用它忽略文件中的重复行。 语法格式:uniq [参数] [文件] 常用参数: -c 打印每行在文本中重复出现的次数 -d ...
uniq 命令是 Linux 中的一个文本处理命令,用于去除文本中的重复行。该命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后...
`uniq`命令在Unix/Linux中是一个非常常见的文本处理工具,它用于过滤出连续重复的行,通常与`sort`命令结合使用,因为`uniq`只对连续的重复行进行处理。在Windows环境下,如果没有内置的`uniq`命令,可以寻找替代品...
uniq 命令是 Linux 中的一个文本处理命令,用于删除或显示文本文件中的重复行。它可以读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该...
2. `uniq`命令:它用于删除文本文件中连续重复的行,但不改变原文件内容。如果你想删除所有重复的行,可以先用`sort`对文件排序,然后使用`uniq`。例如,`sort filename | uniq`将删除`filename`中所有连续重复的行...
`uniq` 命令用于处理已排序的文本文件,并去除连续重复的行: - **去除重复行**:`uniq file` 可以去除文件中相邻的重复行。 - **计数重复行**:`uniq -c file` 可以计算每个唯一行出现的次数。 - 示例: ```bash...
`uniq` 命令可以从文件中去除重复的行,这对于清理数据非常有用。 12. **wc** - **功能说明**:统计文件的行数、单词数或字节数。`wc` 命令可以用来快速统计文件的基本信息。 13. **iconv** - **功能说明**:转换...
LINUX处理文本命令 处理文本和文本文件的命令 一. sort 文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用-m选项, 它将会合并预排序的输入文件. 想...
uniq 命令是 Linux 中一个有用的命令,它从标准输入或单个文件名参数接受数据有序列表,默认情况下,从数据列表中删除任何重复行。uniq 命令的格式为 uniq [选项][文件名]。uniq 命令有八个常用的参数: * -c 在每...
接下来是`uniq`命令,它的主要作用是去除连续重复的行。`uniq`通常与`sort`结合使用,因为只有排序过的输入才能有效地去除重复。`-u`选项即可实现去重功能,例如`sort somefile | uniq`会先对`somefile`排序,然后...
- `uniq`(去除重复行) - `join`(合并两个文件的指定列) - `tr`(字符替换和转换) ### 3. 特殊命令与技巧 #### 管道和重定向 - **管道** (`|`):将一个命令的输出作为另一个命令的输入。 - **重定向** (`>` 和...
Linux 中常用的 shell 命令实验 Linux 操作系统中,shell 命令是最基本也是最重要的命令之一。掌握这些命令可以帮助用户更好地使用 Linux 系统。在这篇文章中,我们将讨论 Linux 中常用的 shell 命令,并通过实验来...
`uniq`命令用于去除重复行。 6. 系统信息和工具 - `touch`命令用于改变文件的时间戳,通常用来创建空白文件。`touch -t`可以设置文件的修改时间。 - `chmod`命令用于更改文件的权限,`chown`命令用于更改文件的...
总结起来,uniq命令在Linux Shell中是处理文本文件重复行的强大工具,通过不同的参数组合,我们可以实现各种定制化的去重操作,满足不同场景的需求。理解并熟练运用uniq,可以极大地提高我们在数据分析、日志分析等...
57. `uniq`:删除重复的行。 58. `wc`:统计文件中的行数、字数、字节数。 59. `tr`:替换或删除字符。 60. `sed`:流编辑器,用于对文本进行过滤和转换。 以上介绍的Linux命令是系统管理和文件操作中必不可少的...
- **功能说明**: 去除重复行。 **32. wc** - **命令**: `wc [选项] [文件]` - **功能说明**: 统计字节数、字数、行数等信息。 **33. iconv** - **命令**: `iconv [选项] [文件]` - **功能说明**: 转换文件的编码...
- uniq用于删除重复行; - wc用于统计单词数、字符数和行数。 4. Linux压缩备份命令部分 压缩和备份命令用于数据的压缩、解压缩和备份。 - ar用于管理归档文件; - bunzip2、bzip2和bzip2recover用于bzip2格式的...
下面我们将详细介绍如何去txt重复行,并探讨相关工具和方法。 首先,我们可以手动编写Python脚本来实现这个功能。Python是一种强大的编程语言,特别适合处理文本数据。以下是一个简单的示例,展示了如何使用Python...
我们可以使用`uniq`命令来过滤掉这些相邻的重复行,但要注意`uniq`只会忽略连续的重复行,所以我们需要先用`sort`对整个输出进行排序: ```bash find . -type f -exec md5sum {} \; | sort | uniq -D ``` `uniq -D...