Linux删除重复行的代码

时间:2025-05-22 11:43:50
Linux删除重复行的代码

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; /^.∗\n\1$/!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; /^\(.*\)\n\1$/!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

《Linux删除重复行的代码.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式