微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux系统中comm命令的用法

linux中comm命令用于提取两列数据中的唯一项、交集、并集等。

1、测试数据

root@PC1:/home/test/test# ls
a.txt  b.txt
root@PC1:/home/test/test# cat a.txt
w
s
g
d
w
a
root@PC1:/home/test/test# cat b.txt
d
a
e
d
t
c

 

2、对数据去重复

root@PC1:/home/test/test# cat a.txt
w
s
g
d
w
a
root@PC1:/home/test/test# sort -u a.txt > a && mv a a.txt
root@PC1:/home/test/test# cat a.txt
a
d
g
s
w
root@PC1:/home/test/test# cat b.txt
d
a
e
d
t
c
root@PC1:/home/test/test# sort -u b.txt > a && mv a b.txt
root@PC1:/home/test/test# cat b.txt
a
c
d
e
t

 

3、测试使用

root@PC1:/home/test/test# cat a.txt
a
d
g
s
w
root@PC1:/home/test/test# cat b.txt
a
c
d
e
t
root@PC1:/home/test/test# comm a.txt b.txt
                a
        c
                d
        e
g
s
        t
w

第一列是a.txt中唯一的项, 第二列是b.txt中唯一的项, 第三列是a.txt和b.txt中共有的项

 

4、只保留a.txt中唯一的项、 或者b.txt中唯一的项、或者两者交集

root@PC1:/home/test/test# cat a.txt
a
d
g
s
w
root@PC1:/home/test/test# cat b.txt
a
c
d
e
t
root@PC1:/home/test/test# comm a.txt b.txt
                a
        c
                d
        e
g
s
        t
w
root@PC1:/home/test/test# comm a.txt b.txt -2 -3
g
s
w
root@PC1:/home/test/test# comm a.txt b.txt -1 -3
c
e
t
root@PC1:/home/test/test# comm a.txt b.txt -1 -2
a
d

 

5、取两者并集

root@PC1:/home/test/test# cat a.txt
a
d
g
s
w
root@PC1:/home/test/test# cat b.txt
a
c
d
e
t
root@PC1:/home/test/test# comm a.txt b.txt
                a
        c
                d
        e
g
s
        t
w
root@PC1:/home/test/test# comm a.txt b.txt  | sed 's/^[\t]\+//g'
a
c
d
e
g
s
t
w

 

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