【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
目录 内容来源: 【GUN】【comm】指令介绍 【busybox】【comm】指令介绍 【linux】【comm】指令介绍 使用示例: 逐行比较两个排序后的文件 - 默认输出 逐行比较两个排序后的文件 - 如果一个文件的排序有问题,那么反错(默认&…...
工作中遇到的问题,如何解决的
1. gorm update 一条记录的某个字段后,立刻(1ms)select这条记录,会有读取不到最新结果的情况: transaction已经提交,数据最后也是更新的。 猜测原因:MySQL没能及时把那条很大的record“刷盘”到…...

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

Vue单页面应用和多页面应用的区别
概念: SPA单页面应用(SinglePage Web Application),指只有一个主页面的应用,一开始只需要加载一次js、css等相关资源。所有内容都包含在主页面,对每一个功能模块组件化。单页应用跳转,就是切换…...
php扩展
查看扩展: print_r(get_loaded_extensions());判断扩展: if (!extension_loaded(gd)) {if (!dl...

mac电脑如何安装python及环境搭建
(1)进入官网:Download Python | Python.org,根据自己电脑选择python (2)这里我选择的是mac,点击:macos,选择最近版本并点击进入 (3)选择mac版本: (4)点击就可以进入下载: (5)下载好之…...
大数据高级阶段面试题(实时)
1.Kafka的producer如何实现幂等性? ①开启幂等性,将Idempotent设置为true ②将ack设置为-1,确保相同的消息只会发送一次,避免重新发送 2.Kafka的ISR和OSR的作⽤分别是什么? ISR是副本和领导者的数据和状态要保持一致,如果出现…...

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

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

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

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

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

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

Hadoop3:集群搭建及常用命令与shell脚本整理(入门篇,从零开始搭建)
一、集群环境说明 1、用VMware安装3台Centos7.9虚拟机 2、虚拟机配置:2C,2G内存,50G存储 3、集群架构设计 从表格中,可以看出,Hadoop集群,主要有2个模块服务,一个是HDFS服务,一个是…...

yolo-world:”目标检测届大模型“
AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于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 创建(推荐)vite介绍创建步骤项目结构安装插件项目结构总结 2.3. 一个简单的效果Person.vueApp.vue …...
vue2实现面包屑功能
目录 1. store/index.js 2. router/index.js 3. Header.vue 在Vue 2中实现面包屑导航是一种常见的前端实践,它可以帮助用户了解当前页面在网站结构中的位置,并快速导航到上一级或根目录。以下是使用Vue 2实现面包屑导航的基本步骤: 1. st…...
helm安装 AWS Load Balancer Controller
1、创建AmazonEKSLoadBalancerControllerRole角色 亚马逊文档 创建文档 2)、使用 eksctl 创建 IAM 角色 a、安装eksctl eksctl安装文档 使用以下命令下载并提取最新版本的 eksctl curl --silent --location "https://github.com/weaveworks/eksctl/releases/l…...

贪吃蛇大作战(C语言--实战项目)
朋友们!好久不见。经过一段时间的沉淀,我这篇文章来和大家分享贪吃蛇大作战这个游戏是怎么实现的。 (一).贪吃蛇背景了解及效果展示 首先相信贪吃蛇游戏绝对称的上是我们00后的童年,不仅是贪吃蛇还有俄罗斯⽅块&…...
谷歌确认:链接并不那么重要
谷歌的 Gary Illyes 在最近的一次搜索营销会议上证实,谷歌只需要很少的链接,这为出版商需要关注其他因素提供了越来越多的证据。Gary 在推特上证实了他确实说过这些话。 排名链接的背景 20 世纪 90 年代末,搜索引擎发现链接是验证网站权威性…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...