首页 > 系统服务 > 详细

linux删除两个文档中相同记录的行

时间:2014-11-13 16:50:31      阅读:278      评论:0      收藏:0      [点我收藏+]

文档1(a.txt)

111
222
333
444
555
666
777
888
999

文档2(b.txt)

aaa
bbb
ccc
ddd
eee
111
fff
222
333
jjj
kkk
444

整理后的文件三內容如下:  (c.txt)
aaa
bbb
ccc
ddd
eee
fff
jjj
kkk

作法如下:
    1.先合并两个文本到一个临时文件中 
        cat a.txt b.txt > temp1.txt
    2. 对生成的临时文件內容进行排序,將排序后的结果放到一个临时文件中
        sort +0 -0 -o temp2.txt temp1.txt  /* 以第一個字段對文件temp1.txt進行排序,
                                        將排序后的結果放到temp2.txt文件中 */
    3. 對排序后的文件進行重複行的刪除
        uniq -u temp2.txt > c.txt    /*對重複的行全部刪除*/
        注: 如果想對重複的記錄保留一個,其餘的刪除則用法如下.
        uniq -d temp2.txt > c.txt    /*對重複的行只保留一行*/
至此 c.txt中的內容就是兩個文件相減后的內容了.

linux删除两个文档中相同记录的行

原文:http://0daysec.blog.51cto.com/9327043/1576066

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!