您现在的位置: 破洛洛 >> 服务器 >> Linux >> 正文

Linux删除重复行的代码

作者:佚名 来源:网络整理 更新时间:2016-12-30
分享到

   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

服务器教程

平板电脑教程

视频播放教程

转载请注明:破洛洛(谢谢合作)
网友评论: