在操作文件的时候我们可能需要找到两个文件的交集、并集或补集,Linux系统下可以用一个简单的命令实现--comm命令,不同于diff命令,它需要事先排好序,但不是一行一行的比较差异,下面是帮助文档说明

用法:comm [选项]... 文件1 文件2
逐行比较已排序的文件文件1 和文件2。如果不附带选项,程序会生成三列输出。第一列包含文件1 特有的行,第二列包含 文件2 特有的行,而第三列包含两个文件共有的行。-1        不输出文件1 特有的行-2        不输出文件2 特有的行-3        不输出两个文件共有的行--check-order            检查输入是否被正确排序,即使所有输入行均成对--nocheck-order        不检查输入是否被正确排序--output-delimiter=STR    依照STR 分列--help        显示此帮助信息并退出--version        显示版本信息并退出注意,比较操作遵从"LC_CPLLATE"所定义的规则。示例:comm -12 文件1 文件2  只打印在文件1和文件2中都有的行comm -3  文件1 文件2  打印在文件1中有,而文件2中没有的行。反之亦然。
$cat ll.txt
1
2
3
4
5
6
$cat  ll2.txt
2
4
3
5
6
7comm -12 ll.txt ll2.txt
$comm -12 ll ll2
2
4
comm: 文件2 没有被正确排序
5
6
-------------------------
$comm -3 ll.txt ll2.txt
1
3
comm: 文件2 没有被正确排序37
我们会看到3没有被正常排序,comm会给出警告,并把3规为两个文件互不相同的项
我们可以用--nocheck-order参数消除警告,但是不改变结果
$comm -12 ll.txt ll3.txt --nocheck-order
2
3
4
5
6
--check-order 参数只输出正确排序之前的项
$comm -12 ll.txt ll2.txt --check-order
2
4
comm: 文件2 没有被正确排序

$sort ll2.txt > ll3.txt$comm -12 ll.txt ll3.txt
2
3
4
5
6

总结:
comm命令可比较两个文件,一般要求文件需要事先排序,它与diff命令的区别在于,comm不是逐行比对的,可以提取出两个文件的相同部分和特异部分

具体例子和详细说明见以下链接:
https://linux.cn/article-8583-1.html

转载于:https://www.cnblogs.com/xlij1205/p/10564020.html

Linux下comm命令比较两个文件的异同相关推荐

  1. 两个服务器 文件比较,使用linux的comm命令比较两个已排过序的文件

    使用linux的comm命令比较两个已排过序的文件 发布时间:2020-07-09 10:41:42 来源:亿速云 阅读:55 作者:清晨 栏目:服务器 这篇文章主要介绍使用linux的comm命令比 ...

  2. Linux下用命令行彻底删除文件

    一.Linux下用命令行彻底删除文件 Linux下一般会使用删除键或者rm命令.将文件扔到垃圾箱.但是,这些方法并没把文件从我们的电脑里彻底删除,只是把文件隐藏起来,让用户看不见而已. 1. shre ...

  3. Linux 下从命令行打开pdf文件和html文件的命令

    Linux 下从命令行打开pdf文件和html文件的命令 [日期:2012-06-18] 来源:Linux社区 作者:hipercomer [字体:大 中 小] 如果你经常工作在Linux终端下,某个 ...

  4. linux创建删除文件命令行,彻底消失,Linux下用命令行彻底删除文件

    在大多数情况下,我们想要删除电脑文件,Linux下一般会使用删除键或者rm命令.将文件扔到垃圾箱.但是,这些方法并没把文件从我们的电脑里彻底删除,只是把文件隐藏起来,让用户看不见而已. 假设某个文件含 ...

  5. Linux下使用命令解压.war文件的问题

    目前发现该问题只在Linux环境中出现,在Java程序中解压或在windows环境下使用工具解压,并未发现该问题. 该问题只是个别现象,有的.war文件不存在该问题. 问题描述: 使用unzip命令解 ...

  6. linux ftp上传下载文件,Linux下ftp命令上传下载文件

    命令行下连接ftp服务器 方式一: 默认端口 ftp hostname 方式二: 指定端口 [ec2-user@ip-99-240-80-144 ~]$ ftp ftp> open 99.240 ...

  7. linux环境对apk文件写入数据,Linux下7zip命令apk中插入文件标识渠道批量打包

    项目需要:需要对某个包分包,对渠道和下面的包做标记,但又不改变原包的签名,想到在原apk中插入某个带渠道号和包号的文件,服务器Linux环境,采用7zip 压缩格式解压,打包,插入文件到apk解压后的 ...

  8. linux 下搜索的命令,Linux下搜索命令

    linux下用于查找文件的5个命令,有需要的朋友可以参考下.包括find,whereis,locate,which与type. linux下用于查找文件的5个命令,有需要的朋友可以参考下. 包括fin ...

  9. linux中安shell怎么传入参数,【linux】linux 下 shell命令 执行结果赋值给变量【两种方式】...

    方法1:[通用方法] 使用Tab键上面的反引号 例子如下: find命令 模糊查询在/apps/swapping目录下 查找 文件名中包含swapping并且以.jar结尾的文件 使用反引号 引住命令 ...

  10. linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令

    linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇  2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...

最新文章

  1. mysql创建临时表 分页_ASP+MySQl利用临时表分页第一页数据正常,下一页往后没有数据...
  2. ubuntu系统目录介绍
  3. el table 固定表头和首行_表头太太太复杂了,如何批量打印?简单!
  4. html5仿腾讯,高仿腾讯QQ Xplan(X计划)的H5页面(1):threejs创建地球
  5. Oracle中一般游标与REF游标的区别
  6. Android BLE新手进入
  7. STC12C5A60S2片内存储器介绍
  8. BZOJ1095 动态点分治
  9. EMNLP 2020 可解释性推理
  10. linux 判断某进程 前台还是后台,Linux进程管理——进程前后台(优先级)以及作业控制等...
  11. java 104规约_电网104规约解包(java)
  12. Chrome浏览器多账户登录
  13. pgm图像修改java_【转】 PGM图像处理方法详解
  14. css背景图片全屏_使用CSS3的全屏背景图片幻灯片
  15. 本地生活服务,快手直播电商外的又一大金矿!
  16. Windows睡眠,CPU风扇仍然运转的问题
  17. 数据版“吐槽大会”: 国产综艺节目年终盘点
  18. 学习难度最高的五大编程语言,Java排第3,Python竟然都不能上榜
  19. 从mpeg ts文件中提取I帧(3):pes包的解析
  20. 兴趣探测的模型化探索

热门文章

  1. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_5_反射_概述
  2. D02-R语言基础学习
  3. JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)...
  4. 20169217 2016-2017-2 《网络攻防实践》第四周学习总结
  5. 根据文件大小搜索电脑文件
  6. jQuery实用小技巧--输入框文字获取和失去焦点
  7. JS学习之表格的排序
  8. NSString的长度比较方法(一)
  9. 02-CSS基础与进阶-day11_2018-09-17-21-35-14
  10. CentOS hgfs中没有共享文件夹