前言

我们经常会有需求比较一个文件里的内容是否在另一个文件存在。假如我有一份监控列表的IP写入在了file1,我所有的机器IP写入在了file2,我要找出还有哪些机器没有在监控列表。以前的做法是写个两层循环,或者用diff命令。打印出来也没那么直观,直到最近找打了comm,以前也知道这个小工具,可能是没有静心去看他之类的,总感觉搞不明白。最近几天类似的比较需求有点多,还是决定用它,也就有了自己的总结。
 

目录

1、comm的功能
2、用法
3、输出格式
4、参数
5、例子
6、写在最后
 

1、功能

用于比较两个已经排过序的文件。这里一定要注意是两个文件都要已经排序了,没有排序的话,打印出来的结果是不一样的。
 

2、用法

comm [-123] file1 file2

3、输出

用comm命令比较出来后,一共会有3列的显示,其中的代表的含义如下:
第一列:显示仅在第一个文件有的行。
第二列:显示仅在第二个文件有的行。
第三列:显示在文件1和文件2都有的行。
 

4、参数

在用comm命令时,可以使用-1、-2、-3、-12、-13、-23等参数,其中这些参数的含义如下:
-1:不显示在第一个文件中独有的行
-2:不显示在第二个文件中独有的行
-3:不显示两个文件中共有的行
 
可以把“-”理解为减号,-1就是输出时不打印第一列;-2就是不打印第二列,只打印第1列和第3列。
 

5、实例

file1:
aa
dd
bb
cc
ff
 
file2:
nn
oo
aa
 
从这里可以看出,第三列并没有把在两个文件中都有的行打印出来。这是因为在使用comm命令时,一定要先对文件做sort排序。
C02D37BHMD6T:~ lli$ comm file1 file2
aa
dd
bb
cc
ff
nn
oo
aa
经过对文件排序后的对比
C02D37BHMD6T:~ lli$ cat file1 |sort > file3
C02D37BHMD6T:~ lli$ cat file2 |sort > file4
第一列可以看出是file3文件独有的,第二列为file4独有的,第三列为两个文件共有的。
C02D37BHMD6T:~ lli$ comm file3 file4
aa
bb
cc
dd
ff
nn
oo

六、写在最后

李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷。喜欢钻研底层技术,认为底层基础才是王道。一切新技术都离不开操作系统(CPU、内存、磁盘)、网络等。坚持输入输出,记录自己学习的点滴,在平凡中坚持前行,总有一天会遇见不一样的自己。公众号:运维汪(ID:Leeeee_Li)。

欢迎大家关注我的公众号,一起交流、学习。

 

最新文章

  1. 看我是如何处理自定义线程模型---java
  2. 微信小程序demo理解
  3. Android中使用Notification实现宽视图通知栏(Notification示例二)
  4. office 365 online api
  5. [读书笔记]OSGI-灵活的类加载器架构
  6. postfix启动脚本
  7. !!常见的上穿突破M20方式——突破还是试探的判断
  8. 基于MVC模式的应用框架之struts
  9. mac配置appium进行自动化测试
  10. bjfu1164 Parity Game
  11. [大牛翻译系列]Hadoop(6)MapReduce 排序:总排序(Total order sorting)
  12. 使用javascript判断浏览器类型
  13. shell学习笔记
  14. Linux下gcc,g++,gdb,scon部分用法笔记
  15. Struts文件上传
  16. Gym 100952G&&2015 HIAST Collegiate Programming Contest G. The jar of divisors【简单博弈】
  17. P2255 [USACO14JAN]记录奥林比克
  18. ELK6.6.0+filebeat6.6.0部署
  19. yarn安装
  20. 关于spark standalone模式下的executor问题

热门文章

  1. DolphinScheduler 源码分析之 DAG类
  2. HDU - 6761 Minimum Index (字符串,Lyndon分解)
  3. Codeforces Round #656 (Div. 3) B. Restore the Permutation by Merger
  4. 新疆大学ACM新生赛(公开赛) E.异或 (思维,位运算)
  5. JavaScript——变量及作用域
  6. 牛客编程巅峰赛S1第11场 - 黄金&钻石 A.牛牛的01游戏 (模拟栈)
  7. python爬虫笔记Day01
  8. js中for循环遍历的写法
  9. python to exe
  10. Next.js Conf 2020