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

 

posted @ 2022-03-26 14:12  小鲨鱼2018  阅读(368)  评论(0编辑  收藏  举报