精华内容
下载资源
问答
  • 本文这里举例说明如何利用Linux命令行进行文本行去重并按重复次数排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列...

    最近杂事太多,正事进展缓慢。Fighting!

    linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能。本文这里举例说明如何利用Linux命令行进行文本按行去重并按重复次数排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列(简单地说,就是按列操作文本行)。

    用于演示的测试文件内容如下:

    Hello World.
    Apple and Nokia.
    Hello World.
    I wanna buy an Apple device.
    The Iphone of Apple company.
    Hello World.
    The Iphone of Apple company.
    My name is Friendfish.
    Hello World.
    Apple and Nokia.
    实现命令及过程如下:
    1、文本行去重
    (1)排序
    由于uniq命令只能对相邻行进行去重复操作,所以在进行去重前,先要对文本行进行排序,使重复行集中到一起。
    $ sort test.txt 
    Apple and Nokia.
    Apple and Nokia.
    Hello World.
    Hello World.
    Hello World.
    Hello World.
    I wanna buy an Apple device.
    My name is Friendfish.
    The Iphone of Apple company.
    The Iphone of Apple company.
    (2)去掉相邻的重复行
    $ sort test.txt | uniq
    Apple and Nokia.
    Hello World.
    I wanna buy an Apple device.
    My name is Friendfish.
    The Iphone of Apple company.
    
    2、文本行去重并按重复次数排序
    (1)首先,对文本行进行去重并统计重复次数(uniq命令加-c选项可以实现对重复次数进行统计。)。
    $ sort test.txt | uniq -c
          2 Apple and Nokia.
          4 Hello World.
          1 I wanna buy an Apple device.
          1 My name is Friendfish.
          2 The Iphone of Apple company.
    (2)对文本行按重复次数进行排序。
    sort -n可以识别每行开头的数字,并按其大小对文本行进行排序。默认是按升序排列,如果想要按降序要加-r选项(sort -rn)。
    $ sort test.txt | uniq -c | sort -rn
          4 Hello World.
          2 The Iphone of Apple company.
          2 Apple and Nokia.
          1 My name is Friendfish.
          1 I wanna buy an Apple device.
    (3)每行前面的删除重复次数。
    cut命令可以按列操作文本行。可以看出前面的重复次数占8个字符,因此,可以用命令cut -c 9- 取出每行第9个及其以后的字符。
    $ sort test.txt | uniq -c | sort -rn | cut -c 9-
    Hello World.
    The Iphone of Apple company.
    Apple and Nokia.
    My name is Friendfish.
    I wanna buy an Apple device.

    下面附带说一下cut命令的使用,用法如下:

    cut -b list [-n] [file ...]
    cut -c list [file ...]
    cut -f list [-d delim][-s][file ...]
    
    上面的-b、-c、-f分别表示字节、字符、字段(即bytecharacterfield);
    list表示-b、-c、-f操作范围,-n常常表示具体数字;
    file表示的自然是要操作的文本文件的名称;
    delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;
    -s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)
    三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。
    
    范围的表示方法:
          n   只有第nn-  从第n项一直到行尾
          n-m 从第n项到第m项(包括m)
          -m  从一行的开始到第m项(包括m)
          -   从一行的开始到结束的所有项
    在写这篇文章的时候,用到了vim的大小写转化的快捷键:gu变小写,gU变大写。结合ctrl+v能够将一片文字中的字符进行大小写转换,非常好用。
    展开全文
  • 本文这里举例说明如何利用Linux命令行进行文本行去重并按重复次数排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列...
    linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能。本文这里举例说明如何利用Linux命令行进行文本按行去重并按重复次数排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列(简单地说,就是按列操作文本行)。
     
    用于演示的测试文件内容如下:
     
    [plain] 
    Hello World.  
    Apple and Nokia.  
    Hello World.  
    I wanna buy an Apple device.  
    The Iphone of Apple company.  
    Hello World.  
    The Iphone of Apple company.  
    My name is Friendfish.  
    Hello World.  
    Apple and Nokia.  
    实现命令及过程如下:
    [plain] 
    1、文本行去重  
    (1)排序  
    由于uniq命令只能对相邻行进行去重复操作,所以在进行去重前,先要对文本行进行排序,使重复行集中到一起。  
    $ sort test.txt   
    Apple and Nokia.  
    Apple and Nokia.  
    Hello World.  
    Hello World.  
    Hello World.  
    Hello World.  
    I wanna buy an Apple device.  
    My name is Friendfish.  
    The Iphone of Apple company.  
    The Iphone of Apple company.  
    (2)去掉相邻的重复行  
    $ sort test.txt | uniq  
    Apple and Nokia.  
    Hello World.  
    I wanna buy an Apple device.  
    My name is Friendfish.  
    The Iphone of Apple company.  
      
    2、文本行去重并按重复次数排序  
    (1)首先,对文本行进行去重并统计重复次数(uniq命令加-c选项可以实现对重复次数进行统计。)。  
    $ sort test.txt | uniq -c  
          2 Apple and Nokia.  
          4 Hello World.  
          1 I wanna buy an Apple device.  
          1 My name is Friendfish.  
          2 The Iphone of Apple company.  
    (2)对文本行按重复次数进行排序。  
    sort -n可以识别每行开头的数字,并按其大小对文本行进行排序。默认是按升序排列,如果想要按降序要加-r选项(sort -rn)。  
    $ sort test.txt | uniq -c | sort -rn  
          4 Hello World.  
          2 The Iphone of Apple company.  
          2 Apple and Nokia.  
          1 My name is Friendfish.  
          1 I wanna buy an Apple device.  
    (3)每行前面的删除重复次数。  
    cut命令可以按列操作文本行。可以看出前面的重复次数占8个字符,因此,可以用命令cut -c 9- 取出每行第9个及其以后的字符。  
    $ sort test.txt | uniq -c | sort -rn | cut -c 9-  
    Hello World.  
    The Iphone of Apple company.  
    Apple and Nokia.  
    My name is Friendfish.  
    I wanna buy an Apple device.  
    下面附带说一下cut命令的使用,用法如下:
     
    [plain] 
    cut -b list [-n] [file ...]  
    cut -c list [file ...]  
    cut -f list [-d delim][-s][file ...]  
      
    上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field);  
    list表示-b、-c、-f操作范围,-n常常表示具体数字;  
    file表示的自然是要操作的文本文件的名称;  
    delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;  
    -s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)  
    三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。  
      
    范围的表示方法:  
          n   只有第n项   
          n-  从第n项一直到行尾  
          n-m 从第n项到第m项(包括m)  
          -m  从一行的开始到第m项(包括m)  
          -   从一行的开始到结束的所有项  
    在写这篇文章的时候,用到了vim的大小写转化的快捷键:gu变小写,gU变大写。结合ctrl+v能够将一片文字中的字符进行大小写转换,非常好用。
    展开全文
  • Matlab 排序 去掉重复元素

    千次阅读 2014-04-03 14:19:13
    1. Matlab中,矩阵按照某一列排序    参考:http://kb.iu.edu/data/afrd.html    函数:sortrows(A,j)  例:A = [1 2 3  3 0 9  6 5 4]  B = sortrows(A,2)  则:   B =

    1. Matlab中,矩阵按照某一列排序

     

       参考:http://kb.iu.edu/data/afrd.html

     

       函数:sortrows(A,j)

       例:A = [1 2 3

               3 0 9

               6 5 4]

           B = sortrows(A,2)

           则:

           B = 3 0 9

               1 2 3

               6 5 4

     

    2. Matlab中,去掉矩阵或数组中的重复元素

     

       参考:http://www.ilovematlab.cn/thread-6937-1-1.html

     

       两种方法:(1)先sort()排序,再diff()差分,最后用find()找出相同的元素(即元素为0的位置)。该方法较精确。

              

               (2)函数:B = unique(A). 去掉A中重复的元素后返回B. 精度相对较低,但较便利。

           

    展开全文
  • MySQL时间排序后分页混乱重复

    千次阅读 2019-12-02 16:06:04
    select 'true' as QUERYID, rb_id, rb_source, rb_...按照时间排序,分页查询,第二页出现了第一页的数据,同时,第一页的数据也和不带分页的顺序不一致。 解决办法,在存在相同时间的时候,额外增加id排序
     select 'true' as QUERYID, rb_id, rb_source, rb_startTime, rb_endTime, rb_type, rb_useable, rb_redBagNum, rb_singleContains, rb_currentNum, rb_content from redbag order by rb_startTime desc limit 0 , 10;
     
      select 'true' as QUERYID, rb_id, rb_source, rb_startTime, rb_endTime, rb_type, rb_useable, rb_redBagNum, rb_singleContains, rb_currentNum, rb_content from redbag order by rb_startTime desc
    

    按照时间排序,分页查询,第二页出现了第一页的数据,同时,第一页的数据也和不带分页的顺序不一致。

    解决办法,在存在相同时间的时候,额外增加id排序。
    在这里插入图片描述在这里插入图片描述

    展开全文
  • Python 查重,统计重复 排序

    万次阅读 2018-07-24 11:34:25
    Python统计列表(List)中的重复项出现的次数并进行排序 题目概述  对于一个列表,比如List = [1,2,3,4,5,3,2,1,4,5,6,4,2,3,4,6,2,2],现在我们需要统计这个列表中的重复项,统计出重复次数后,按照我们自己的...
  • MySQL key重复某字段排序

    千次阅读 2013-03-26 22:23:19
    有一个表(user_record),可能有百万条记录,大致内容如下: no uid s ================ 1 a 999 2 b 899 3 c 1234 4 a 1322 5 b 933 ----------------- uid可以重复。现在要做的是‘s’倒序(desc)排
  • 理解希尔排序排序过程

    万次阅读 多人点赞 2018-01-30 09:41:06
    (1)插入排序的基本方法是:每步将一个待排序的元素,排序码大小插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。 (2)可以选择不同的方法在已经排好序的有序数据表中寻找插入位置,...
  • package am; ... * 姓名和重复的次数,并按重复次数排序:  */ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; public c
  • SQL语句查询重复字段并数量排序

    千次阅读 2014-04-10 11:06:23
    功能:查询出 exhibitiononline表中,exhiid存在于表 exhibitor中的所有数据,并根据 exhibitor表的exhid的数量排序 select * from exhibitiononline join  (select exhid,count(exhid) as s from ...
  • C++ STL中Map的Key排序Value排序

    万次阅读 多人点赞 2013-09-22 18:29:25
    C++ STL中Map的Key排序Value排序, 实用方法小结!
  • 假如根据年龄排序,但是有十几个人的年龄都是20岁,但是我要的分页是10条记录一页,就会出现分页混乱数据重复。 因为年龄相同的人有十几个,这是几个人的排序就会不确定。 可能第一次查询的时候**(20岁)张三在20岁...
  • Linux删除重复
  • Java随机不重复排序算法

    千次阅读 2011-04-01 14:53:00
    问题描述  给定任意个不重复的数字,对其进行随机排序算法分析  首先想到可以将给定的数字放在一个集合A中,初步定为一个ArrayList,这样,可以用A集合的长度来做为随机数的基数,取出一个数x,放到结果...
  • Linux下对文件进行排序:sort 与 uniq 命令简介 Linux | May 24, 2015 | linux sort 命令可针对文本文件的内容,以行为单位进行排序。其基本语法格式为: sort [-bcfMnrtk][源文件][-o 输出文件] 参数:...
  • //可用于对一组坐标进行排序记录的是X坐标,后面跟随的是FindPic的图片对应值 ,已经验证 Dim str="228,1|406,1|274,0|326,0|352,3|249,5|480,5|453,6|300,7|378,7|427,8|" Dim strArrary=Split(str,&...
  • 重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换...
  • --查询申报时间最靠前的运单对应的,毛重,件数,运输号,运单号,申报时间 --其中运单号可批次号都有可能会重复 select t.cargo_wt, t.pack_num, t.tran_no, t.bill_no, t.declare_time from (select b.cargo_wt...
  • -- 根据bavatar去重复: rightsCouponList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(RightsCoupon::getBavatar))), ArrayList::...
  • 查询后的结果把重复的时间项自动去除了,而我不项去除,我项选出所有满足条件的项 '1', '2877', 'kong', '514816', '42672', 'S', '6.4', '2016-04-27 09:27:55' '1', '2877', 'kong', '514816', '42672', 'S', '...
  • 华为机试题C++-去除重复字符并排序

    千次阅读 2015-09-16 21:32:41
    题目:去除重复字符并排序  去除重复字符并排序 运行时间限制:无限制 内容限制: 无限制 输入: 字符串 输出: 去除重复字符并排序的字符串 样例输入: aabcdefff 样例输出: abcdef C++实现如下: #...
  • 八大排序算法

    万次阅读 多人点赞 2012-07-23 16:45:18
    排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则...
  • Java实现 LeetCode 83 删除排序链表中的重复元素

    万次阅读 多人点赞 2020-02-16 21:58:59
    83. 删除排序链表中的重复元素 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 /** *...
  • Java实现 LeetCode 26 删除排序数组中的重复

    万次阅读 多人点赞 2020-02-12 20:57:38
    26. 删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的...
  • 删除排序数组中的重复

    万次阅读 2020-07-01 14:41:46
    删除排序数组中的重复项(力扣:26) 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O...
  • 1.解决方案 增加一个二级排序【比如:主键,时间戳】,...(3)在进行分页查询时,如果不进行绝对排序,则会出现分页中各页记录重复的现象。 (4)绝对排序:这是个自创概念,指按照指定排序规则排序后,记录顺序唯一。
  • 排序二叉树的建立注意重复元素

    千次阅读 2017-02-08 17:08:34
    1建立排序二叉树时 注意重复元素 sdut原题链接 树结构练习——排序二叉树的中序遍历 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解...
  • unique函数去除重复行不排序

    千次阅读 2017-08-16 15:48:14
    unique函数在使用时会自动升序排序,但是在实际应用中,我们并不希望改变原有矩阵的顺序,只是希望去除重复行。上段代码可以实现去除重复行而不对原有矩阵进行排序
  • 删除排序数组中的重复数字

    千次阅读 2016-05-13 15:38:36
    题目描述:给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。 样例:给出数组A =[1,1,2],你的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 657,979
精华内容 263,191
关键字:

怎么按重复的排序