linux去重 sort去重复
linux去重命令
linux重启命令是:
1、在命令行中输入: shutdown-r now:表示现在重启计算机,按下回车便会进行重启。
2、另一种重启方式就是输入: reboot也表示重启,一样会进行重启。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux 管道命令系列 五 去重命令uniq
uniq命令,Linux管道家族中的成员,主要功能是去除重复项。
为了演示uniq命令,我们创建了一个名为/tmp/uniq.txt的文件,内容如下:
好,现在进行第一次测试:
结果发现,“error php function”重复未被去除,而“onmpw web site”只去重了一条,说明默认情况下uniq只会检索相邻的重复数据。
默认机制导致uniq在处理不同数量重复项时,只去重相邻重复项。为解决此问题,uniq通常与sort命令结合使用。
现在进行第二次测试,确认是否所有重复项都已去重。
接下来简单介绍uniq命令的选项:
-c选项,统计每一行数据的重复次数。
使用-c选项后,"error php function"出现了两次,"onmpw web site"出现了三次,其他无重复项。
-i选项,忽略大小写。
在/tmp/uniq.txt中添加一行数据“Error PHP function”,使用-i选项后,大小写问题被忽略。
-u选项,只输出没有重复的数据。
结果中,"error php function"和"onmpw web site"均未被输出。
-w N选项,表示从第一个字符开始只检索N个字符来判重。
-w 2选项后,结果中“recruise page site”被统计为重复两次,而“repeat no data”消失,因为只对前两个字符进行检索。
-f N选项,表示略过前面N个字段,从第N+1个字段开始检索重复数据。
使用-f 2选项后,“recruise page site”和“onmpw web site”被视为相同数据,因为它们的第三个字段相同。
为解决该问题,需要在sort命令上应用-k选项。
最后,-s N选项,略过前面N个字符,与-f N类似,但前者略过字符,后者略过字段。
-d选项,只输出有重复项的第一条数据。
结果只有三条数据,包含“repeat no data”,这是-w 2选项应用的结果。
-D选项,对于重复项全部输出。
至此,关于uniq命令选项的常用命令介绍完毕,对于更多详细信息,可使用命令info uniq获取。
linux命令对某一列去重/统计
cat file.csv| awk-F'\t''{print$2}'
'\t'指的是file.csv不同列以'\t'分割,如果的是以其他符号分割,换成其她符号;
'{print$2}'是指取第2列,此处从1开始计数,第1列,第2列;
一般去重之前要进行排序
cat file.csv| awk-F'\t''{print$2}' | sort| uniq
前半部分与命令1一样,后面加上| sort| uniq
比如通过命令2发现,第2列取值有两种,分别是'neg'和‘pos’,那么我想知道有多少行的第2列取值为'pos',多少行的第2列取值为'neg'。
cat file.csv| awk-F'\t''{print$2}' | grep-o'neg'| wc-l
前半部分与命令1一样,后面加上 | grep-o'neg'| wc-l
grep-o'neg'就是取出取值为'neg'的行
wc-l是计数有多少行