小公举comm,快速比较两个排序文件
2024-09-02 10:00:16
前言
我们经常会有需求比较一个文件里的内容是否在另一个文件存在。假如我有一份监控列表的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)。
欢迎大家关注我的公众号,一起交流、学习。
最新文章
- 看我是如何处理自定义线程模型---java
- 微信小程序demo理解
- Android中使用Notification实现宽视图通知栏(Notification示例二)
- office 365 online api
- [读书笔记]OSGI-灵活的类加载器架构
- postfix启动脚本
- !!常见的上穿突破M20方式——突破还是试探的判断
- 基于MVC模式的应用框架之struts
- mac配置appium进行自动化测试
- bjfu1164 Parity Game
- [大牛翻译系列]Hadoop(6)MapReduce 排序:总排序(Total order sorting)
- 使用javascript判断浏览器类型
- shell学习笔记
- Linux下gcc,g++,gdb,scon部分用法笔记
- Struts文件上传
- Gym 100952G&;&;2015 HIAST Collegiate Programming Contest G. The jar of divisors【简单博弈】
- P2255 [USACO14JAN]记录奥林比克
- ELK6.6.0+filebeat6.6.0部署
- yarn安装
- 关于spark standalone模式下的executor问题
热门文章
- DolphinScheduler 源码分析之 DAG类
- HDU - 6761 Minimum Index (字符串,Lyndon分解)
- Codeforces Round #656 (Div. 3) B. Restore the Permutation by Merger
- 新疆大学ACM新生赛(公开赛) E.异或 (思维,位运算)
- JavaScript——变量及作用域
- 牛客编程巅峰赛S1第11场 - 黄金&;钻石 A.牛牛的01游戏 (模拟栈)
- python爬虫笔记Day01
- js中for循环遍历的写法
- python to exe
- Next.js Conf 2020