文档章节

Linux下comm命令比较两个文件的异同

o
 osc_fmg49rzg
发布于 2019/03/20 11:55
字数 599
阅读 5
收藏 0

精选30+云产品,助力企业轻松上云!>>>

在操作文件的时候我们可能需要找到两个文件的交集、并集或补集,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
7

comm -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 没有被正确排序
    3
    7
我们会看到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

 

上一篇: Java复习题
下一篇: GAN网络
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

pyhon

cython 相关的帖子. http://blog.behnel.de/categories/cython.html

MtrS
2分钟前
0
0
多处理与线程Python - Multiprocessing vs Threading Python

问题: I am trying to understand the advantages of multiprocessing over threading . 我试图了解多处理优于线程的优势。 I know that multiprocessing gets around the Global Interpret......

法国红酒甜
8分钟前
5
0
格式编号始终显示2个小数位 - Format number to always show 2 decimal places

问题: I would like to format my numbers to always display 2 decimal places, rounding where applicable. 我想将数字格式化为始终显示2个小数位,并在适用的情况下四舍五入。 Examples...

富含淀粉
今天
22
0
Docker可视化工具Portainer

1 前言 从没想到Docker也有可视化的工具,因为它的命令还是非常清晰简单的。无聊搜了一下,原来已经有很多Docker可视化工具了。如DockerUI、Shipyard、Rancher、Portainer等。查看对比了一番...

南瓜慢说
今天
20
0
日志系统新贵 Loki,真香!!

最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。...

庞陆阳
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部