linux 中 两个文件取交集、并集、特有项

1、测试数据

root@ubuntu01:/home/test# ls   ## 测试数据
a.txt  b.txt
root@ubuntu01:/home/test# cat a.txt   
a
b
c
d
e
root@ubuntu01:/home/test# cat b.txt
c
d
e
f
g

 

2、取两个文件的并集

root@ubuntu01:/home/test# ls
a.txt  b.txt
root@ubuntu01:/home/test# cat a.txt
a
b
c
d
e
root@ubuntu01:/home/test# cat b.txt
c
d
e
f
g
root@ubuntu01:/home/test# cat a.txt b.txt | sort -u   ## 取两个文件的并集
a
b
c
d
e
f
g
root@ubuntu01:/home/test# cat a.txt b.txt | sort | uniq   ## 取两个文件的并集
a
b
c
d
e
f
g

 

3、取两个文件的交集

root@ubuntu01:/home/test# ls
a.txt  b.txt
root@ubuntu01:/home/test# cat a.txt
a
b
c
d
e
root@ubuntu01:/home/test# cat b.txt
c
d
e
f
g
root@ubuntu01:/home/test# cat a.txt b.txt | sort | uniq -d   ## 取两个文件的交集
c
d
e
root@ubuntu01:/home/test# cat a.txt b.txt | sort | uniq -D   ## 取两个文件的交集
c
c
d
d
e
e

 

4、取两者特有项的合集

root@ubuntu01:/home/test# ls
a.txt  b.txt
root@ubuntu01:/home/test# cat a.txt
a
b
c
d
e
root@ubuntu01:/home/test# cat b.txt
c
d
e
f
g
root@ubuntu01:/home/test# cat a.txt b.txt | sort | uniq -u   ## 取两个文件特有项的合集
a
b
f
g

 

5、取a.txt中的特有项

root@ubuntu01:/home/test# ls
a.txt  b.txt
root@ubuntu01:/home/test# cat a.txt
a
b
c
d
e
root@ubuntu01:/home/test# cat b.txt
c
d
e
f
g
root@ubuntu01:/home/test# cat a.txt b.txt b.txt | sort | uniq -u   ## 取a.txt中的特有项
a
b

 

6、取b.txt中的特有项

root@ubuntu01:/home/test# ls
a.txt  b.txt
root@ubuntu01:/home/test# cat a.txt
a
b
c
d
e
root@ubuntu01:/home/test# cat b.txt
c
d
e
f
g
root@ubuntu01:/home/test# cat a.txt a.txt b.txt | sort | uniq -u      ## 取b.txt中的特有项
f
g

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。