Linux删除重复行的代码

   Linux删除重复行的代码

        文本处理时,经常要删除重复行,下面是三种方法

  第一,用sort+uniq,注意,单纯uniq是不行的。

  ?

1

sort -n test.txt | uniq

  第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。

  sort -n $file | awk '{if($0!=line)print; line=$0}'

  第三,用sort+sed命令,同样需要sort命令先排序。

  sort -n $file | sed '$!N; /^.∗n1$/!P; D'

  Shell脚本

  ?

1
2
3
4
5
6

# !/bin/sh
 
file='test.txt'
sort -n $file | uniq
sort -n $file | awk '{if($0!=line)print; line=$0}'
sort -n $file | sed '$!N; /^(.*)n1$/!P; D'

  测试文件:

  yanggang@barry$ cat test.txt

  aaa

  bbbbb

  ccccc

  123

  aaaaa

  123

  bbb

  aaa

  执行结果:

  yanggang@barry$ ./diffRow.sh

  aaa

  aaaaa

  bbb

  bbbbb

  ccccc

  123

服务器教程

平板电脑教程

视频播放教程

时间: 2024-11-08 20:16:03

Linux删除重复行的代码的相关文章

批处理 删除重复行的代码_DOS/BAT

复制代码 代码如下: @echo off :: 删除重复的行,但不能保留空行 :: 对不符合变量命名规则.变量个数超过限制的文本都无法正确处理 :: (echo 清除重复行后的文件内容:& echo.)>str_.txt for /f "delims=" %%i in (test.txt) do ( if not defined %%i set %%i=A & echo %%i>>str_.txt) start str_.txt

分享SQL Server删除重复行的6个方法

1.如果有ID字段,就是具有唯一性的字段 复制代码 代码如下: delect table where id not in ( select max(id) from table group by col1,col2,col3... ) group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同. 2. 如果是判断所有字段也可以这样 复制代码 代码如下: select * into #aa from table group by id1,i

分享SQL Server删除重复行的6个方法_MsSql

1.如果有ID字段,就是具有唯一性的字段 复制代码 代码如下: delect table where id not in ( select max(id) from table group by col1,col2,col3... ) group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同. 2. 如果是判断所有字段也可以这样 复制代码 代码如下: select * into #aa from table group by id1,i

Excel表格中删除重复行的方法

  Excel表格中删除重复行的方法            下图中的表格就是今天的示例,因为比较短,所以肉眼就可以看出来,后面三行都是重复的.下面在本文中,Office办公助手的小编就图文详解一次性将最后三行重复行都删除掉的方法. 1.将光标定位到表格内,切换到"数据"选项卡,在"数据工具"组中单击"删除重复项"按钮. 2.弹出"删除重复项"对话框,单击"确定"按钮,然后在跳转到的对话框中继续单击"

删除重复字符js代码

删除重复字符js代码 -->   <script type="text/vbscript">         <!--             dim str             str="您好,欢迎来到三联"             set regex = new regexp             regex.pattern = "((.{1,3}?)2{2,})"             regex.globa

sql 删除重复行(ALL或DISTINCT)

sql 删除重复行(all或distinct) /* 删除重复行select语句中使用all或distinct选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为all.使用distinct选项时,对于所有重复的数据行在select返回的结果集合中只保留一行 我们也可以用它来去除重复的数据 合并两个表除去重复的数据(以表2的数据为主),我们将会得到以下的表: a b a 1 b 0 c 0 d 0 e 4 select a,b from 表1 where a not in(select

用vbscript实现从文本文件中删除所有重复行的代码_vbs

问: 您好,脚本专家!如何从文本文件中删除所有重复行? -- SW 答: 您好,SW.您知道,成为一名脚本专家便意味着开始永无止境地寻找给定问题的最终解决方案.(或者至少在我们的经理问为什么我们似乎从未真正完成什么时,我们是这么告诉他的:"老板,永无止境的寻找过程需要时间!")这就是为什么我们很高兴看到您的问题的原因.不久前 我们回答了一个关于从文本文件中删除重复名字的类似问题.我们想到的解决方案十分简单而且效果不错:只是我们不确定那是最佳解决方案.现在,很感谢您的问题,我们可以再次尝

excel删除重复行

首先要看我们用的是excel那款软件,是excel2003还是2007还2010.通常2007和2010都是类似的,所有我们只需要了解excel2003和2007的操作方法即可, excel2003的操作方法一: 步骤一:如果是两行数据都是一样的话,如图所示: 步骤二:首先选中表中的所有记录,选中之后,选择菜单栏上面的"数据"-"筛选"在下拉列表中选择"高级筛选"选项,如图所示: 步骤三:在弹出的高级筛选框中选择勾选"将筛选结果复制到其

Excel 2007中删除重复行的方法

我们在使用http://www.aliyun.com/zixun/aggregation/16544.html">Excel 2007的过程中,常常会遇到重复的数据行需要删除,对于不是很多的数据我们采用最原始的删除方法,但当数据量达到很大,有些甚至几万的时候,我们就需要找一些比较好的技巧来解决重复数据删除的问题啦!以下方法中涉及的技巧为风信网(www.ithov.com)编辑所提供的技巧,供大家借鉴,希望能给你的工作带来更多的便利! 如果你也有兴趣分享你在工作之中的各种小技巧,那么请点击以