linux 命令之comm
1. 简介
comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作。
交集:打印出两个文件所共有的行。
求差:打印出指定文件所包含的且不相同的行。
差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。
2. 语法
comm (选项) (参数)
3. 选项
-1:不显示在第一个文件出现的内容
-2:不显示在第二个文件中出现的内容
-3:不显示同时在两个文件中都出现的内容
4. 参数
文件1:指定要比较的第一个有序文件
文件2:指定要比较的第二个有序文件
5. 实例
~/company/sh$ cat 1.txt
1a
1b
1c
1d
1f
1e
3a
3b
3c
~/company/sh$ cat 2.txt
2a
2b
2c
2d
2e
2f
3a
3b
3c
(1)无选项:输出的第一列只包含在1.txt中出现的行,第二列包含在2.txt中出现的行,第三列同时包含在1.txt和2.txt中的行。各列是以制表符(\t)作为定界符。
~/company/sh$ omm 1.txt 2.txt
1a
1b
1c
1d
1f
1e
2a
2b
2c
2d
2e
2f
3a
3b
3c
(2)-1选项(可以理解为-1删除第一列,-2删除第二列):不显示只在第一个文件出现的内容,输出的第一列只包含在2.txt中出现的行,第二列同时包含在1.txt和2.txt中的行
~/company/sh$ comm -1 1.txt 2.txt
2a
2b
2c
2d
2e
2f
3a
3b
3c
(3)交集:第三列就是交集的内容,只需删除第一列和第二列内容即可
~/company/sh$ comm -1 -2 1.txt 2.txt
3a
3b
3c
(4)求差:打印出两个文件中不相同的行,需要删除第三列,sed 's/^\t//' 是将制表符(\t)删除,以便把两列合并成一列。
~/company/sh$ comm -3 1.txt 2.txt
1a
1b
1c
1d
1f
1e
2a
2b
2c
2d
2e
2f
~/company/sh$ comm -3 1.txt 2.txt|sed 's/^\t//'
1a
1b
1c
1d
1f
1e
2a
2b
2c
2d
2e
2f
(5)差集
a.txt的差集
~/company/sh$ comm -2 -3 1.txt 2.txt
1a
1b
1c
1d
1f
1e
b.txt差集
~/company/sh$ comm -1 -3 1.txt 2.txt
2a
2b
2c
2d
2e
2f
linux 命令之comm的更多相关文章
- Linux命令整理中...
Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...
- [Android ] linux命令英文缩写的含义(方便记忆)
du -sh */ reference to : http://blog.chinaunix.net/uid-27164517-id-3299073.html linux常用命令的英文单词缩写 命令缩 ...
- 运维工程师必会的109个Linux命令
运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...
- 【改造Linux命令之rm - 删除文件或目录-】
用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比 ...
- 77个常用Linux命令和工具
77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工 ...
- 十年linux命令总结
十年linux命令总结 本文链接: http://codingstandards.iteye.com/blog/786653 关于命令类型划分 本表中列出了我穷尽了我所有的记忆整理出来的Linux命令 ...
- linux命令英文缩写的含义(方便记忆)
命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户 rpm:redhat package manager 红帽子打包 ...
- Linux命令 比较文件
cmp [功能说明] 比较文件 #cmp可以比较任何类型的文件,并在标准输出设备上显示文件的第一次不同处的行号和字节号,分别从1开始,但是一般用于比较文本文件 [语法格式] Cmp[参数][文件1][ ...
- linux 命令中英文对照,收集
linux 命令中英文对照,收集 linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...
随机推荐
- cocos2dx day 1
原文:http://www.cocos2d-x.org/programmersguide/2/index.html 一.Basic Concepts 1.director 2.scene 2.1 sc ...
- vmware 修改IP 提示子网掩码错误~
我打开[编辑]->[虚拟网络编辑器]菜单 修改网络设置 提示 子网掩码错误 如下图所示 上网查询,使用如下方法解决问题 这个虚拟网络编辑器是给你添加网卡的,你添加vmnet1就是在你真实的电脑上 ...
- 高斯模糊算法的 C++ 实现
2008 年在一个 PS 讨论群里,有网友不解 Photoshop 的高斯模糊中的半径是什么含义,因此当时我写了这篇文章: 对Photoshop高斯模糊滤镜的算法总结: 在那篇文章中,主要讲解了高斯模 ...
- appium移动端测试之滑动(二)
在ios测试中,需要用到滑动,所以用java封装了一套滑动的方法,不多说,贴代码 /** * 上滑1/4屏幕 */ public void slideUP1_4() { int x = driver. ...
- [转载]tlb、tlh和tli文件的关系
tlb.tlh和tli文件的关系 tlb文件:com类型库文件.在需要使用对应com类的模块里,“#import ...*.tlb”使用之. tlh.tli文件:他们是vc++编译器解析tlb文件生成 ...
- C# 6.0可能的新特性及C#发展历程
据扯,C# 6.0在不远的将来就发布了,对应的IDE可能是VS 2014(.Net Framework 5.0),因为VS 2013已于2013年10月份发布了,对应的是.Net Franework ...
- java 配置文件读取
1.getResourceAsStream Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path ...
- css3动画(@keyframes和animation的用法)
animation基本用法是: animation: name keeping-time animate-function delay times iteration final; 第一个参数:nam ...
- python字典嵌套字典的情况下获取某个key的value
最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况.在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字 ...
- 关于conky