comm命令

comm命令

comm命令用于比较两个已排过序的文件,该命令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3列显示:第1列仅是在第1个文件中出现过的列,第2列是仅在第2个文件中出现过的列,第3列则是在第1与第2个文件里都出现过的列,若给予的文件名称为-,则comm命令会从标准输入设备读取数据。

语法#

Copy
comm [OPTION]... FILE1 FILE2

参数#

  • -1: 禁止列1(FILE1唯一的行)。
  • -2: 禁止列2 (FILE2唯一的行)。
  • -3: 禁止列3(出现在两个文件中的行)。
  • --check-order: 检查输入是否正确排序,即使所有输入行都是可配对的。
  • --nocheck-order: 不检查输入是否正确排序。
  • --output-delimiter=STR: 用字符串STR分隔列。
  • -z, --zero-terminated: 指定行分隔符是NUL,不是换行符。
  • --help: 显示帮助消息。
  • --version: 输出版本信息。

示例#

recipe.txt文件与shopping-list.txt文件内容,这两个文件不同,但许多行是相同的,并非所有的配方成分都在购物清单上,也不是购物清单上的所有成分都是食谱的一部分。

Copy
# recipe.txt All-Purpose Flour Baking Soda Bread Brown Sugar Chocolate Chips Eggs Milk Salt Vanilla Extract White Sugar # shopping-list.txt All-Purpose Flour Bread Brown Sugar Chicken Salad Chocolate Chips Eggs Milk Onions Pickles Potato Chips Soda Pop Tomatoes White Sugar

使用comm命令,其将读取这两个文件并给我们三列输出,在这里,每行输出的开头都有012个制表符,将输出分成三列:

  • 第一列zero tabs是只出现在第一个文件中的行。
  • 第二列one tabs是只出现在第二个文件中的行。
  • 第三列two tabs是出现在两个文件中的行。
Copy
comm recipe.txt shopping-list.txt # All-Purpose Flour #Baking Soda # Bread # Brown Sugar # Chicken Salad # Chocolate Chips # Eggs # Milk # Onions # Pickles # Potato Chips #Salt # Soda Pop # Tomatoes #Vanilla Extract # White Sugar

比较recipe.txt文件与shopping-list.txt文件,并禁用第1与第2列的输出。

Copy
comm -12 recipe.txt shopping-list.txt # All-Purpose Flour # Bread # Brown Sugar # Chocolate Chips # Eggs # Milk # White Sugar

每日一题#

Copy
https://github.com/WindrunnerMax/EveryDay

参考#

Copy
https://www.computerhope.com/unix/ucomm.htm https://www.runoob.com/linux/linux-comm-comm.html https://www.geeksforgeeks.org/comm-command-in-linux-with-examples/
posted @   WindRunnerMax  阅读(289)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示
CONTENTS