当前位置: 首页 > news >正文

【busybox记录】【shell指令】comm

目录

内容来源:

【GUN】【comm】指令介绍

【busybox】【comm】指令介绍

【linux】【comm】指令介绍

使用示例:

逐行比较两个排序后的文件 - 默认输出

逐行比较两个排序后的文件 - 如果一个文件的排序有问题,那么反错(默认)

逐行比较两个排序后的文件 - 不检查文件是否已经排序

逐行比较两个排序后的文件 - 修改输出格式,修改默认间隔符

逐行比较两个排序后的文件 - 统计每列的个数

逐行比较两个排序后的文件 - 默认输出中可以选择不输出某一列

常用组合指令:

指令不常用/组合用法还需继续挖掘:


内容来源:

        GUN : Coreutils - GNU core utilities

        busybox v1.36.1 : 【busybox记录】【shell指令】基于的Busybox的版本和下载方式-CSDN博客

【GUN】【comm】指令介绍

comm:逐行比较两个排序后的文件
comm 将通用的和唯一的行写入到两个输入文件的标准输出;文件名“-”表示标准输入。
简介:
comm [option]... file1 file2
在可以使用comm之前,必须使用LC_COLLATE区域设置指定的排序序列对输入文件进行排序。如果输入文件以非换行符结束,则会静默地添加换行符。没有选项的sort命令总是输出一个适合comm输入的文件。
如果没有选项,comm将生成三列输出。第一列包含file1唯一的行,第二列包含file2唯一的行,第三列包含两个文件共有的行。列之间由一个制表符分隔。
选项-1、-2和-3禁止打印相应的列(和分隔符)。参见第2章[常见选项],第2页。
与其他一些比较工具不同,comm的退出状态不依赖于比较的结果。正常完成后,comm产生一个0的退出代码。如果有错误,则以非零状态退出。
如果指定了--check-order选项,未排序的输入将导致致命的错误消息。
如果指定了--nocheck-order选项,未排序的输入将永远不会导致错误消息。
如果这两个选项都没有给出,只有当发现输入文件包含不可配对的行时,才会诊断排序错误的输入。如果输入文件被诊断为未排序,comm命令将以非零状态退出(并且不应该使用输出)。
通过指定--nocheck-order强制comm处理排序错误的、包含不配对行的输入文件,并不能保证产生任何特定的输出。输出可能与您希望的不一致。
‘--check-order’如果任何一个输入文件的顺序错误,则失败并返回错误信息。
‘--nocheck-order’
不要检查两个输入文件是否有序。
其他选项有:
‘--output-delimiter=str’
在相邻的输出列之间打印str,而不是默认的单个制表符。定界符str可以为空,在这种情况下,将使用ASCII NUL字符来定界输出列。
‘--total’ 
在最后输出摘要。与常规输出类似,第1列包含file1特有的行数,第2列包含file2特有的行数,第3列包含两个文件共有的行数,在附加的第4列中紧跟单词'total'。在下面的例子中,comm命令省略了常规输出(-123),只打印摘要:
$ printf '%s\n' a b c d e > file1
$ printf '%s\n' b c d e f g > file2
$ comm --total -123 file1 file2
1 2 4 total
这个选项是一个GNU扩展。可移植脚本应该使用wc来获取总数,例如对于上面的示例文件:
$ comm -23 file1 file2 | wc -l # file1中的行数
1
$ comm -13 file1 file2 | wc -l # file2中的行数
2
$ comm -12 file1 file2 | wc -l #两个文件共用的行数
4
‘-z’
‘--zero-terminated’
用0字节而不是换行符分隔项(ASCII LF)。例如,将输入视为用ASCII NUL分隔的项目,并以ASCII NUL终止输出项目。
此选项可以与 ‘perl -0’ 或 ‘find -print0’ 和 ‘xargs -0’ 一起使用,它们的作用相同,以便可靠地处理任意文件名(即使是包含空格或其他特殊字符的文件名)。

【busybox】【comm】指令介绍

NA

【linux】【comm】指令介绍

[root@localhost bin]# comm --help
用法:comm [选项]... 文件1 文件2
逐行比较已排序的文件文件1 和文件2。When FILE1 or FILE2 (not both) is -, read standard input.如果不附带选项,程序会生成三列输出。第一列包含文件1 特有的行,第二列包含 文件2 特有的行,而第三列包含两个文件共有的行。-1		不输出文件1 特有的行-2		不输出文件2 特有的行-3		不输出两个文件共有的行--check-order			检查输入是否被正确排序,即使所有输入行均成对--nocheck-order		不检查输入是否被正确排序--output-delimiter=STR	依照STR 分列--total           output a summary-z, --zero-terminated    以 NUL 字符而非换行符作为行尾分隔符--help		显示此帮助信息并退出--version		显示版本信息并退出Note, comparisons honor the rules specified by 'LC_COLLATE'.示例:comm -12 文件1 文件2  只打印在文件1 和文件2 中都有的行comm -3  文件1 文件2  打印在文件1 中有,而文件2 中没有的行。反之亦然。GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 comm 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/comm>
或者在本地使用:info '(coreutils) comm invocation'

使用示例:

逐行比较两个排序后的文件 - 默认输出

第一列 file1 的唯一行

第二列 file2 的唯一行

第三列 两个文件共有的行

指令: comm test1.txt  test2.txt

如果两个文件一样,第一列和第二列就不会打印

逐行比较两个排序后的文件 - 如果一个文件的排序有问题,那么反错(默认)

--check-order 选项

指令: comm test*

指令: comm test* --check-order

逐行比较两个排序后的文件 - 不检查文件是否已经排序

--nocheck-order 选项

指令: comm test* --nocheck-order

逐行比较两个排序后的文件 - 修改输出格式,修改默认间隔符

--output-delimiter=str 选项

指令: comm test* --nocheck-order --output-delimiter='            |             '

逐行比较两个排序后的文件 - 统计每列的个数

--total 选项

指令: comm test* --nocheck-order --output-delimiter='            |             ' --total

逐行比较两个排序后的文件 - 默认输出中可以选择不输出某一列

-1 -2 -3 选项,可以一起用

此处的 --nocheck-order 选项是因为,原始文件有排序错误,懒得改了,应该能看明白吧

指令: comm test* -1 --nocheck-order --total

指令: comm test* -1 --nocheck-order --total

指令: comm test* -1 --nocheck-order --total

指令: comm test* -123 --nocheck-order --total

常用组合指令:

NA

指令不常用/组合用法还需继续挖掘:

相关文章:

【busybox记录】【shell指令】comm

目录 内容来源&#xff1a; 【GUN】【comm】指令介绍 【busybox】【comm】指令介绍 【linux】【comm】指令介绍 使用示例&#xff1a; 逐行比较两个排序后的文件 - 默认输出 逐行比较两个排序后的文件 - 如果一个文件的排序有问题&#xff0c;那么反错&#xff08;默认&…...

工作中遇到的问题,如何解决的

1. gorm update 一条记录的某个字段后&#xff0c;立刻&#xff08;1ms&#xff09;select这条记录&#xff0c;会有读取不到最新结果的情况&#xff1a; transaction已经提交&#xff0c;数据最后也是更新的。 猜测原因&#xff1a;MySQL没能及时把那条很大的record“刷盘”到…...

数据结构(c):队列

目录 &#x1f37a;0.前言 1.什么是队列 2. 队列的实现 2.1定义队列节点 2.2定义队列 2.3队尾入队列 2.4判断队列是否为空 2.5队头出队列 2.6 队列首元素 2.7队尾元素 2.8队列内的元素个数 2.9销毁队列 3.试运行 &#x1f48e;4.结束语 &#x1f37a;0.前言 言C之…...

Vue单页面应用和多页面应用的区别

概念&#xff1a; SPA单页面应用&#xff08;SinglePage Web Application&#xff09;&#xff0c;指只有一个主页面的应用&#xff0c;一开始只需要加载一次js、css等相关资源。所有内容都包含在主页面&#xff0c;对每一个功能模块组件化。单页应用跳转&#xff0c;就是切换…...

php扩展

查看扩展: print_r(get_loaded_extensions());判断扩展: if (!extension_loaded(gd)) {if (!dl...

mac电脑如何安装python及环境搭建

&#xff08;1&#xff09;进入官网&#xff1a;Download Python | Python.org&#xff0c;根据自己电脑选择python (2)这里我选择的是mac,点击&#xff1a;macos&#xff0c;选择最近版本并点击进入 (3)选择mac版本&#xff1a; (4)点击就可以进入下载&#xff1a; (5)下载好之…...

大数据高级阶段面试题(实时)

1.Kafka的producer如何实现幂等性? ①开启幂等性&#xff0c;将Idempotent设置为true ②将ack设置为-1&#xff0c;确保相同的消息只会发送一次&#xff0c;避免重新发送 2.Kafka的ISR和OSR的作⽤分别是什么? ISR是副本和领导者的数据和状态要保持一致&#xff0c;如果出现…...

Material Studio 计算分子静电力、电荷密度以及差分电荷密度

1.先打开Material Studio导入要计算的分子cif文件或者mol文件&#xff0c;直接Flie-Import 2.高斯几何优化一下结构&#xff0c;参数按照我的设置就行&#xff0c;一般通用&#xff0c;后面出问题再调整 3.点完Run后会跳出很多计算过程&#xff0c;不用管&#xff0c;等他计算完…...

华为鸿蒙系统(Huawei HarmonyOS)

华为鸿蒙系统&#xff08;华为技术有限公司开发的分布式操作系统&#xff09; 华为鸿蒙系统&#xff08;HUAWEI HarmonyOS&#xff09;&#xff0c;是华为公司在2019年8月9日于东莞举行的华为开发者大会&#xff08;HDC.2019&#xff09;上正式发布的分布式操作系统。 华为鸿蒙…...

docker jenkins 部署springboot项目

1、创建jenkins容器 1&#xff0c;首先&#xff0c;我们需要创建一个 Jenkins 数据卷&#xff0c;用于存储 Jenkins 的配置信息。可以通过以下命令创建一个数据卷&#xff1a; docker volume create jenkins_data启动 Jenkins 容器并挂载数据卷&#xff1a; docker run -dit…...

记录一个练手的js逆向password

很明显 请求加密了password 全局搜索 有个加密函数(搜不到的可以搜临近的其他的关键字 或者url参数) 搜索的时候一定要仔细分析 我就没有仔细分析 我搞了好久 又是xhr又是hook的(还没hook到) 我当时也是疏忽了 我寻思这个也不是js文件 直到后来 我怎么也找不到 我就猜想 不…...

如何低成本创建个人网站?

目录 前言 网站源代码 虚拟主机或服务器 域名注册或免费二级域名 域名解析 上传源代码压缩包 添加刚刚的域名 成功搭建 失败的解决方案 结语 前言 很多小白都非常想拥有自己的网站&#xff0c;但很多人虽然有了自己的源代码但苦于不知道怎么将其变成所有人都能够访…...

Finder Windows for Mac:双系统窗口,一键切换!

Finder Windows for Mac是一款专为Mac用户设计的实用工具&#xff0c;它模拟了Windows系统的窗口管理功能&#xff0c;让Mac用户也能享受到类似Windows的窗口操作体验。这款软件的主要功能是提供一个浮动面板&#xff0c;帮助用户随时即时访问打开的Finder窗口列表&#xff0c;…...

Hadoop3:集群搭建及常用命令与shell脚本整理(入门篇,从零开始搭建)

一、集群环境说明 1、用VMware安装3台Centos7.9虚拟机 2、虚拟机配置&#xff1a;2C&#xff0c;2G内存&#xff0c;50G存储 3、集群架构设计 从表格中&#xff0c;可以看出&#xff0c;Hadoop集群&#xff0c;主要有2个模块服务&#xff0c;一个是HDFS服务&#xff0c;一个是…...

yolo-world:”目标检测届大模型“

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享&#xff0c;包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…...

vue3 + ts 快速入门(全)

文章目录 学习链接1. Vue3简介1.1. 性能的提升1.2.源码的升级1.3. 拥抱TypeScript1.4. 新的特性 2. 创建Vue3工程2.1. 基于 vue-cli 创建2.2. 基于 vite 创建&#xff08;推荐&#xff09;vite介绍创建步骤项目结构安装插件项目结构总结 2.3. 一个简单的效果Person.vueApp.vue …...

vue2实现面包屑功能

目录 1. store/index.js 2. router/index.js 3. Header.vue 在Vue 2中实现面包屑导航是一种常见的前端实践&#xff0c;它可以帮助用户了解当前页面在网站结构中的位置&#xff0c;并快速导航到上一级或根目录。以下是使用Vue 2实现面包屑导航的基本步骤&#xff1a; 1. st…...

helm安装 AWS Load Balancer Controller

1、创建AmazonEKSLoadBalancerControllerRole角色 亚马逊文档 创建文档 2&#xff09;、使用 eksctl 创建 IAM 角色 a、安装eksctl eksctl安装文档 使用以下命令下载并提取最新版本的 eksctl curl --silent --location "https://github.com/weaveworks/eksctl/releases/l…...

贪吃蛇大作战(C语言--实战项目)

朋友们&#xff01;好久不见。经过一段时间的沉淀&#xff0c;我这篇文章来和大家分享贪吃蛇大作战这个游戏是怎么实现的。 &#xff08;一&#xff09;.贪吃蛇背景了解及效果展示 首先相信贪吃蛇游戏绝对称的上是我们00后的童年&#xff0c;不仅是贪吃蛇还有俄罗斯⽅块&…...

谷歌确认:链接并不那么重要

谷歌的 Gary Illyes 在最近的一次搜索营销会议上证实&#xff0c;谷歌只需要很少的链接&#xff0c;这为出版商需要关注其他因素提供了越来越多的证据。Gary 在推特上证实了他确实说过这些话。 排名链接的背景 20 世纪 90 年代末&#xff0c;搜索引擎发现链接是验证网站权威性…...

Python中CSV文件处理的常见累积错误及修正方案

在使用 Python 的 csv 模块处理学生成绩数据时&#xff0c;一个极易被忽视却影响结果准确性的典型问题是变量作用域与重用逻辑错误。如原始代码所示&#xff0c;grades [] 被定义在 for row in reader: 循环外部&#xff0c;导致每次迭代都将新学生的成绩追加到同一个列表中—…...

3分钟上手弹幕盒子:零基础高效制作自定义弹幕的免费工具

3分钟上手弹幕盒子&#xff1a;零基础高效制作自定义弹幕的免费工具 【免费下载链接】danmubox.github.io 弹幕盒子 项目地址: https://gitcode.com/gh_mirrors/da/danmubox.github.io 弹幕盒子是一款专业的在线自定义弹幕生成工具&#xff0c;以轻量化架构设计为核心&a…...

新手避坑指南:PX4飞控连接TFmini、LIDAR Lite V3等定高雷达的完整接线与参数配置(QGC实操)

PX4飞控与定高雷达实战&#xff1a;从接线到参数配置的避坑指南 刚拿到PX4飞控和一堆传感器的新手们&#xff0c;面对密密麻麻的接口和参数设置&#xff0c;是不是有种无从下手的感觉&#xff1f;特别是当你需要连接定高雷达时&#xff0c;不同品牌&#xff08;北醒TFmini、LID…...

SAP移动类型全解析:从收货到移库,一文搞懂库存管理核心配置

SAP移动类型实战指南&#xff1a;解锁库存管理的核心密码 当你第一次在SAP系统中执行货物移动时&#xff0c;面对上百种移动类型代码&#xff0c;是否感到无从下手&#xff1f;作为全球500强企业广泛采用的ERP系统&#xff0c;SAP的库存管理模块以其严谨性和灵活性著称&#xf…...

Realtek RTL8821CU无线网卡驱动解决方案 - Linux系统WiFi适配完美指南

Realtek RTL8821CU无线网卡驱动解决方案 - Linux系统WiFi适配完美指南 【免费下载链接】rtl8821CU Realtek RTL8811CU/RTL8821CU USB Wi-Fi adapter driver for Linux 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8821CU 你是否在Linux系统上使用Realtek RTL8821CU…...

ARMv8虚拟化性能优化指南:TLB的ASID和VMID到底怎么用?

ARMv8虚拟化性能优化指南&#xff1a;TLB的ASID和VMID实战解析 虚拟化技术在云计算和容器化场景中已成为基础设施的核心支柱&#xff0c;而ARM架构凭借其能效优势&#xff0c;正逐步渗透到数据中心领域。但在高密度虚拟化环境中&#xff0c;内存访问性能往往成为瓶颈——我们曾…...

认知内耗:在亚马逊,为何品牌名内部的“关键词”正在相互厮杀

在亚马逊的品牌丛林中&#xff0c;最隐蔽的悲剧莫过于&#xff1a;你精心构思的品牌名&#xff0c;其内部的各个组成部分&#xff08;如“欧文斯”、“康宁”、“玻璃纤维”&#xff09;&#xff0c;并未协同指向你&#xff0c;反而各自激活了消费者心智中其他更强大品牌的“认…...

Spring Boot 实现网络限速:让流量“收放自如”

Spring Boot 实现网络限速&#xff1a;让流量“收放自如” 一、为啥要网络限速&#xff1f; 在当今这个数字化时代&#xff0c;网络服务就像我们生活中的水电一样不可或缺&#xff0c;而网络限速则是保障这些服务稳定、高效运行的关键一环。它能确保在各种复杂的网络环境下&…...

手把手教你用PyTorch 2.0复现风源AI气象模型(附GitHub源码解读)

手把手教你用PyTorch 2.0复现风源AI气象模型&#xff08;附GitHub源码解读&#xff09; 气象预测正经历从传统数值模拟到AI驱动的范式转移。本文将带您深入风源模型的技术内核——一个融合卫星遥感与深度学习的混合架构&#xff0c;通过PyTorch 2.0实现从数据预处理到模型推理的…...

造相Z-Image文生图模型v2:3步搭建你的专属AI画师

造相Z-Image文生图模型v2&#xff1a;3步搭建你的专属AI画师 1. 为什么选择Z-Image v2作为你的AI画师 在众多文生图模型中&#xff0c;造相Z-Image v2以其独特的优势脱颖而出。作为阿里通义万相团队开源的高性能模型&#xff0c;它原生支持768768及以上分辨率的高清图像生成&…...