博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux命令(50):comm命令的用法,求交集
阅读量:6005 次
发布时间:2019-06-20

本文共 1901 字,大约阅读时间需要 6 分钟。

Linux comm命令

使用局限比较大,适用于特殊场合;

Linux comm命令用于比较两个已排过序的文件。

排序:sort -u file

这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来;

如果没有指定任何参数,则会把结果分成3行显示:

  • 第1行仅是在第1个文件中出现过的列
  • 第2行是仅在第2个文件中出现过的列
  • 第3行则是在第1与第2个文件里都出现过的列

若给予的文件名称为"-",则comm指令会从标准输入设备读取数据。

语法

comm [-123][--help][--version][第1个文件][第2个文件]

参数

  • -1 不显示只在第1个文件里出现过的列。
  • -2 不显示只在第2个文件里出现过的列。
  • -3 不显示只在第1和第2个文件里出现过的列。
  • --help 在线帮助。
  • --version 显示版本信息。

实例

aaa.txt 与 bbb.txt 的文件内容如下:

[root@localhost text]# cat aaa.txt aaa bbb ccc ddd eee 111 222 [root@localhost text]# cat bbb.txt bbb ccc aaa hhh ttt jjj
执行 comm 命令输出结果如下:[root@localhost text]# comm aaa.txt bbb.txt aaa                bbb                ccc        aaadddeee111222        hhh        ttt        jjj第一列  第二列  第三列

输出的第一列只包含在aaa.txt中出现的行,第二列包含在bbb.txt中出现的行,第三列包含在aaa.txt和bbb.txt中相同的行。

具体实例讲解:

1、以下(A==file_1 and  B==file_2)

2、选项:-12 == -21  -23==-32  -31==-13

组合使用一:输出只有一列

1、w@ubuntu:~/work/linshi$ cat aa_sort.txt

111
222
aaa
bbb
ccc
ddd
eee
2、w@ubuntu:~/work/linshi$ cat bb_sort.txt
aaa
bbb
ccc
hhh
jjj
ttt 

3、comm -12 A B

表达意义:(AnB)

w@ubuntu:~/work/linshi$ comm -12 aa_sort.txt bb_sort.txt

aaa
bbb
ccc

4、comm -13 A B

表达意义:B-(AnB)

w@ubuntu:~/work/linshi$ comm -13 aa_sort.txt bb_sort.txt

hhh
jjj
ttt

5、comm -23 A B

表达意义:A-(AnB)

w@ubuntu:~/work/linshi$ comm -23 aa_sort.txt bb_sort.txt

111
222
ddd
eee

实质上:(comm -1) or (comm -2) or (comm -3),每个命令都会输出两列,两列的内容 等于如下表示:

各列是以制表符(\t)作为定界符。

6、comm -1 == comm -13 -12

w@ubuntu:~/work/linshi$ comm -1 aa_sort.txt bb_sort.txt

  aaa
  bbb
  ccc
hhh
jjj
ttt

7、comm -2 == comm -23 -21

w@ubuntu:~/work/linshi$ comm -2 aa_sort.txt bb_sort.txt

111
222
  aaa
  bbb
  ccc
ddd
eee

8、comm -3 == comm -32 -31

w@ubuntu:~/work/linshi$ comm -3 aa_sort.txt bb_sort.txt

111
222
ddd
eee
  hhh
  jjj
  ttt

9、默认情况下:comm A B== -23 -13 -12

w@ubuntu:~/work/linshi$ comm aa_sort.txt bb_sort.txt

111
222
    aaa
    bbb
    ccc
ddd
eee
  hhh
  jjj
  ttt

 

 

转载于:https://www.cnblogs.com/lovychen/p/8917352.html

你可能感兴趣的文章
Nginx的负载均衡和高可用
查看>>
PHP分页原理
查看>>
dart 自己写一个文件编码器
查看>>
JS验证手机号
查看>>
安装centos
查看>>
myeclipse下jsp页面汉字不能保存问题
查看>>
存储系统层次结构
查看>>
《浏览器渲染原理及流程》学习笔记
查看>>
演示:思科IPS传感器的命令行初始配置(支持图型化管理)
查看>>
ubuntu安装和查看已安装
查看>>
基于GMap.Net的地图解决方案
查看>>
java list三种遍历方法性能比較
查看>>
Uva 10474 Where is the Marble?
查看>>
诊断一句SQL不走索引的原因
查看>>
(转)将rdlc报表作为资源嵌套使用
查看>>
iOS开发拓展篇—UIDynamic(简单介绍)
查看>>
Linux pipe函数
查看>>
图片标注工具LabelImg使用教程
查看>>
011 递归
查看>>
南京建邺、秦淮等7个区公布校外培训机构白名单
查看>>