您的位置:首页 > 运维架构 > Linux

Linux命令如何删除文件里面的重复行

2017-07-04 14:50 288 查看
文本处理时,经常要删除重复行,下面是三种方法

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

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脚本

# !/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'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux命令 重复行