linux删除两个文档中相同记录的行
文档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中的內容就是兩個文件相減后的內容了.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。