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

linux文件合并,去重

2016-05-02 09:35 453 查看
经常有大每行内容去重的需求,特转帖如下
http://www.2cto.com/os/201108/100617.html
 

(1)两个文件的交集,并集

前提条件:每个文件中不得有重复行

1. 取出两个文件的并集(重复的行只保留一份)

cat file1 file2 | sort | uniq > file3

2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)

cat file1 file2 | sort | uniq -d > file3

3. 删除交集,留下其他的行

cat file1 file2 | sort | uniq -u > file3

(2)两个文件合并

一个文件在上,一个文件在下

cat file1 file2 > file3

一个文件在左,一个文件在右

paste file1 file2 > file3

(3)一个文件去掉重复的行

sort file |uniq

注意:重复的多行记为一行,也就是说这些重复的行还在,只是全部省略为一行!

sort file |uniq –u

上面的命令可以把重复的行全部去掉,也就是文件中的非重复行!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell awk