linux命令(50):comm命令的用法,求交集
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
aaa
ddd
eee
111
222
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
linux命令(50):comm命令的用法,求交集的更多相关文章
- 每天一个linux命令(50)--date命令
在Linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date 命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参 ...
- linux中comm命令用法
linux系统中comm命令用法详解 linux系统下的comm命令是一个非常实用的文件对比命令. comm命令功能: 选择或拒绝两个已排序的文件的公共的行. comm命令语法:comm [-12 ...
- Linux comm命令求出文件的交集、差集
A(1,2,3)和B(3,4,5),A和B的交集是3,A对B的差集是1和2,B对A的差集是4和5,A和B求差的结果是1.2.4.5. 在Linux中可以使用comm命令求出这些集. [root@xue ...
- linux命令**50
1.ls命令 命令格式: ls [选项] [目录名] 命令功能: 列出目标目录中所有的子目录和文件. 常用参数: -a,列出所有文件包括隐藏文件 -l,列出详细信息,文件大小一般以字节大小显示 -h, ...
- Linux中常用的50个命令
1. [命令]:cat [功能说明]: concatenate files and print on the standard output #连接文件并打印到标准输出,有标准输出的都可以用重定向定向 ...
- Linux常用的50个命令
50个最常用的Unix/Linux命令 2014-08-20 这篇文章翻译自http://www.thegeekstuff.com/2010/11/50-linux-commands/这些都是一些很常 ...
- linux:使用comm命令比较两个文件:交集、差
linux:使用comm命令比较两个文件:交集.差 comm命令可以按行比较两个排序好的文件,输出有3列:第一列是file1独有的.第二列是file2独有的,第三列是两者都有的,简单语法如下:NAME ...
- linux 命令之comm
1. 简介 comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集.求差.以及差集操作. 交集:打印出两个文件所共有的行. 求差:打印出指定文件所包含的且不相同的行. 差集 ...
- linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...
随机推荐
- 使用u盘安装os x系统
从 App Store 下载 OS X 安装器 请执行以下步骤下载要安装的 OS X 版本. 1. 从 Apple 菜单中,选取“App Store”. 2. 按住 Option 键并点按“已购项目” ...
- shell脚本npm构建静态文件
#!/bin/bash cd /data/web source /etc/profile /usr/bin/cnpm i && npm run build cp -r ./dist/* ...
- Swift3.0 - 实现剪切板代码拷贝及跨应用粘贴
有个需求,点击某个按钮,实现一段内容的拷贝,然后到其他应用内,直接长按粘贴. 实现如下: /// 测试剪切板,实现代码拷贝内容 func testPasteBoard(str:String) { // ...
- vscode用法
工欲善其事,必先利其器.vscode是一个值得花费时间去掌握精通的编辑器. 好文档不必远求 打开vscode,把菜单看上三遍,仔细思考每个菜单项的作用,思考为啥要这样归类每个菜单项. 配置是系统的核心 ...
- Rot13加密算法
Rot13是一种非常简单的替换加密算法,只能加密26个英语字母.方法是:把每个字母用其后第13个字母代替. 因为有26个字母,取其一半13. s = "xrlvf23xfqwsxsqf&qu ...
- [Spring学习笔记 2 ]装配各种类型的属性 map,list,array,null,properties
一.spring Ioc容器补充(1) Spring Ioc容器 DI(依赖注入): 注入的方式:设值方法注入setter(属性注入)/构造子注入(构造函数传入依赖的对象)/字段注入field(注解) ...
- 怎么卸载用 make install 编译(源码)安装的软件?
在linux 中用 ./configure && make && make install 后,如果想删除这个软件我应该怎么删除呢?好像有一个叫"make u ...
- git学习笔记(一)—— git环境搭建
一.简介 Git是目前世界上最先进的分布式版本控制系统(没有之一). 首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库 ...
- 看MySQL官方文档的示例SQL有感
[背景] 周末比较闲,我这个人又没有什么爱好,当然了读书除外:前一些天我一个同事说:“你一个dba想去写一本“django”书,合适吗?” 我想也是,一个人不能忘了本,所以MySQL还是要好好的搞一搞 ...
- 使用vlc实现视频TS流的推送
鉴于Mpeg TS流播放的需求,使用 VLC作为Server来实现输出Mpeg TS 本文仅涉及如何使用VLC的Command来实现作为视频流Server通常可以使用下述四种方式来推送Mpeg ...