Linux comm命令教程:对比和分析文件内容(附案例详解和注意事项)

这篇具有很好参考价值的文章主要介绍了Linux comm命令教程:对比和分析文件内容(附案例详解和注意事项)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux comm命令介绍

comm,又称为_compare common lines_命令,是一个简易的Linux文件比较工具,主要用于标识出两个已排序文件中的共同部分。该命令逐行比较两个文件,并以三列形式显示结果。

Linux comm命令适用的Linux版本

通常,comm命令在所有的Linux发行版上都是可用的,这包括但不限于Ubuntu、Debian、CentOS,以及Fedora等。在您的系统上不可用时,一般是由于coreutils包尚未安装造成的。在大多数系统上,可以用下面的命令来安装:

在CentOS 7上:

[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils

在CentOS 8及其它最新的Linux发行版上:

[linux@bashcommandnotfound.cn ~]$ sudo dnf install coreutils

不同的Linux命令及其参数应以选项卡形式展示,这将有助于读者更好地理解和比较。

Linux comm命令的基本语法

comm [OPTION]... FILE1 FILE2

在这里,FILE1和FILE2是你要比较的两个文件。

Linux comm命令的常用选项或参数说明

选项 描述
-1 不输出文件1独有的行
-2 不输出文件2独有的行
-3 只输出两文件共有的行

Linux comm命令实例详解

实例1:仅输出两个文件共享的行

[linux@bashcommandnotfound.cn ~]$ comm -12 file1 file2

这里的数字选项可以组合使用,例如-12会同时启用-1-2

实例2:检查输入文件是否已排序

[linux@bashcommandnotfound.cn ~]$ comm --check-order file1 file2

实例3:显示两个文件的不同部分

[linux@bashcommandnotfound.cn ~]$ comm -3 file1 file2

实例4:显示文件1独有的行

[linux@bashcommandnotfound.cn ~]$ comm -23 file1 file2

实例5:显示文件2独有的行

[linux@bashcommandnotfound.cn ~]$ comm -13 file1 file2

实例6:输出文件1有但文件2没有的行和文件2有但文件1没有的行

[linux@bashcommandnotfound.cn ~]$ comm -3 file1 file2

上述命令用于返回那些只在一个文件中存在的行,而另一个文件不存在,即文件1和文件2独有的行。

实例7:忽略文件是否已经排序

[linux@bashcommandnotfound.cn ~]$ comm --nocheck-order file1 file2

这个例子中,不论文件是否排序,comm命令会直接执行并给出结果,可能会包含错误。

实例8: 在脚本中使用comm命令

[linux@bashcommandnotfound.cn ~]$ awk 'BEGIN {
        print "Comm Command in Scripts";
        print "File1 Contents : ";
        system("cat file1");
        print "File2 Contents : ";
        system("cat file2");
        print "Comm Output : "
        system("comm file1 file2");
}'

在这个例子中,我们将comm命令结合了awk命令一起使用在一个脚本中,比较了两个文件的内容。

实例9: 对比两个目录

[linux@bashcommandnotfound.cn ~]$ comm -12 <(ls dir1) <(ls dir2)

这个例子中,我们用了进程替换的方式,将ls命令的输出作为comm命令的输入,显示了dir1和dir2都有的文件。

实例10: 对比两个csv文件

[linux@bashcommandnotfound.cn ~]$ comm -13 <(sort file1.csv) <(sort file2.csv)

对比两个CSV文件中独有的行,-1-3选项一同使用表示只输出file2中独有的行,这在数据处理中也是十分常用的。

实例11: 对比两个文本文件

[linux@bashcommandnotfound.cn ~]$ comm -12 <(sort text1.txt) <(sort text2.txt) > common.txt

这个例子中,我们将两个文本文件排序后的共有的行输出到了一个新的文本文件common.txt中。

实例12: 不仅对比内容了,还检查了排序

[linux@bashcommandnotfound.cn ~]$ comm --check-order sorted_file1 sorted_file2

在这个例子中,comm会检查输入文件是否已经排序。如果文件已经排序,comm命令将正常执行。如果输入文件没有排序,comm命令将返回一个错误。文章来源地址https://www.toymoban.com/news/detail-804834.html

Linux comm命令的注意事项

  • 当输入的文件未经排序时,comm命令的结果可能不准确。
  • 如果在使用comm命令时遇到"bash: comm: command not found"提示,可以根据上面给出的命令进行安装。

Linux comm相关命令

  • diff命令:比较文件的不同
  • cmp命令:比较两个文件是否有差异
  • sort命令:排序或比较文件
  • cat命令:连接并打印文件
  • more和less:分页显示文件内容
  • head和tail命令:显示文件的开头和结尾部分
  • cut命令:移除文件中的某一部分
  • grep命令:在文件中搜索字符串
  • awk命令:用于文本和数据处理
  • sed命令:一种流编辑器

到了这里,关于Linux comm命令教程:对比和分析文件内容(附案例详解和注意事项)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux scp命令教程:如何安全地在Linux机器之间复制文件(附案例详解和注意事项)

    scp 命令是Secure Copy的缩写,它是一个基于SSH的命令行工具,用于在两个位置之间安全地复制文件和目录。使用 scp ,你可以从本地系统复制文件或目录到远程系统,从远程系统复制文件或目录到本地系统,或者从本地系统复制文件或目录到两个远程系统。 scp 命令在大多数Li

    2024年02月04日
    浏览(18)
  • Linux ls命令教程:如何有效地列出文件和目录(附案例详解和注意事项)

    ls 是Linux中的基本命令之一,任何Linux用户都应该知道。 ls 命令列出文件系统中的文件和目录,并显示有关它们的详细信息。它是所有Linux发行版都安装的GNU核心实用程序包的一部分。 ls 命令在所有Linux发行版中都是可用的,包括但不限于Ubuntu, Debian, Fedora, CentOS等。如果你发现

    2024年02月04日
    浏览(21)
  • Linux rm命令教程:如何安全有效地删除文件和目录(附案例详解和注意事项)

    rm 命令在Linux中主要用于删除文件或目录。 rm 的全称是 remove ,意为移除。它是Linux用户在使用过程中最常遇到的命令之一。 rm 命令在所有的Linux发行版中都是可用的,包括但不限于Ubuntu, Debian, Fedora, CentOS等。在不同的Linux发行版中, rm 命令的使用方法是一样的。 rm 命令的基

    2024年02月03日
    浏览(16)
  • Linux bzip2命令教程:文件压缩与解压缩实战(附案例详解和注意事项)

    bzip2 是一个基于命令行的文件压缩器,它使用Burrows-Wheeler块排序文本压缩算法和哈夫曼编码来进行压缩。它的主要功能是压缩和解压缩文件,将多个文件绑定成一个单一的文件,这样可以减少原始文件所占用的存储空间。 bzip2 命令在大多数Linux发行版中都可以使用,包括Deb

    2024年04月15日
    浏览(29)
  • Linux chown命令教程:如何改变文件或目录的所有者和组(附案例详解和注意事项)

    chown (change owner)命令在Linux中用于改变文件或目录的所有者和组。每个文件都与一个所有者用户或组相关联。正确配置文件和文件夹权限非常重要。 chown 命令在所有主流的Linux发行版中都可以使用,包括但不限于Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora和R

    2024年04月27日
    浏览(17)
  • Linux 终端命令之文件目录操作,对比Dos相关命令

    目录 前言 基础命令(文件目录相关的) cd命令 【英文帮助】 【对应Dos命令】 pwd命令 【英文帮助】 【对应Dos命令】 ls命令 【英文帮助】 【对应Dos命令】 tree命令 【英文帮助】 【对应Dos命令】 mkdir命令 【英文帮助】 【对应Dos命令】 rmdir/rm命令 【英文帮助】 【对应Dos命令

    2024年02月11日
    浏览(17)
  • 快速上手Linux核心命令(四):文件内容相关命令

    目录 前言 cat 合并文件或查看文件内容 more 分页显示文件内容 less 分页显示文件内容 head 显示文件内容头部 tail 显示文件内容尾部 tailf 跟踪日志文件 diff 比较两个文件的不同 vimdiff 可视化比较工具 wc 统计文件的的行数、单词数或字节数 sort 文本排序 uniq 去除重复行 join 按两

    2023年04月25日
    浏览(15)
  • Linux文件管理命令(4)-cat查看文件内容

    文件目录 前言 一、cat命令介绍 二、语法及参数  三、参考实例 总结         cat主要是用来查看文件内容的,一般也搭配管道符一起来使用,比如有时候要计算文件有多少行或者要截取里面的内容,都还是很实用的。         cat命令来自于英文单词concatenate的缩写,其功能

    2024年02月09日
    浏览(23)
  • linux笔记--文件内容操作和历史命令

    目录 cat命令 more命令 less命令 head命令 tail命令 sed命令 vim编辑器 history命令 clear命令 查看文件内容,标准输出 补充:         1.标准输出:在linux中规定为输出到屏幕         2.标准输入:在linux中规定为从键盘输入 /etc/hostname文件是用来存放主机名,/etc/centos-release文件存放的

    2024年01月22日
    浏览(22)
  • Linux文件里面查找指定内容的命令详解

    公众号请关注\\\"果酱桑\\\", 一起学习,一起进步! 目录 1. grep命令 2. find命令 3. ack命令 4. ag命令 5. ripgrep命令 6. 总结 在Linux系统中,我们经常需要在文件中查找特定的内容。这个过程可能会非常繁琐,但是Linux提供了很多工具来帮助我们完成这个任务。在本篇文章中,我们将介绍一

    2024年02月09日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包