灵动网站建设,普宁房产网,企业团队建设案例公司,免费公司注册Linux comm命令介绍
comm#xff0c;又称为_compare common lines_命令#xff0c;是一个简易的Linux文件比较工具#xff0c;主要用于标识出两个已排序文件中的共同部分。该命令逐行比较两个文件#xff0c;并以三列形式显示结果。
Linux comm命令适用的Linux版本
通常…Linux comm命令介绍
comm又称为_compare common lines_命令是一个简易的Linux文件比较工具主要用于标识出两个已排序文件中的共同部分。该命令逐行比较两个文件并以三列形式显示结果。
Linux comm命令适用的Linux版本
通常comm命令在所有的Linux发行版上都是可用的这包括但不限于Ubuntu、Debian、CentOS以及Fedora等。在您的系统上不可用时一般是由于coreutils包尚未安装造成的。在大多数系统上可以用下面的命令来安装
在CentOS 7上:
[linuxbashcommandnotfound.cn ~]$ sudo yum install coreutils在CentOS 8及其它最新的Linux发行版上:
[linuxbashcommandnotfound.cn ~]$ sudo dnf install coreutils不同的Linux命令及其参数应以选项卡形式展示这将有助于读者更好地理解和比较。
Linux comm命令的基本语法
comm [OPTION]... FILE1 FILE2在这里FILE1和FILE2是你要比较的两个文件。
Linux comm命令的常用选项或参数说明
选项描述-1不输出文件1独有的行-2不输出文件2独有的行-3只输出两文件共有的行
Linux comm命令实例详解
实例1仅输出两个文件共享的行
[linuxbashcommandnotfound.cn ~]$ comm -12 file1 file2这里的数字选项可以组合使用例如-12会同时启用-1和-2。
实例2检查输入文件是否已排序
[linuxbashcommandnotfound.cn ~]$ comm --check-order file1 file2实例3显示两个文件的不同部分
[linuxbashcommandnotfound.cn ~]$ comm -3 file1 file2实例4显示文件1独有的行
[linuxbashcommandnotfound.cn ~]$ comm -23 file1 file2实例5显示文件2独有的行
[linuxbashcommandnotfound.cn ~]$ comm -13 file1 file2实例6输出文件1有但文件2没有的行和文件2有但文件1没有的行
[linuxbashcommandnotfound.cn ~]$ comm -3 file1 file2上述命令用于返回那些只在一个文件中存在的行而另一个文件不存在即文件1和文件2独有的行。
实例7忽略文件是否已经排序
[linuxbashcommandnotfound.cn ~]$ comm --nocheck-order file1 file2这个例子中不论文件是否排序comm命令会直接执行并给出结果可能会包含错误。
实例8: 在脚本中使用comm命令
[linuxbashcommandnotfound.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: 对比两个目录
[linuxbashcommandnotfound.cn ~]$ comm -12 (ls dir1) (ls dir2)这个例子中我们用了进程替换的方式将ls命令的输出作为comm命令的输入显示了dir1和dir2都有的文件。
实例10: 对比两个csv文件
[linuxbashcommandnotfound.cn ~]$ comm -13 (sort file1.csv) (sort file2.csv)对比两个CSV文件中独有的行-1和-3选项一同使用表示只输出file2中独有的行这在数据处理中也是十分常用的。
实例11: 对比两个文本文件
[linuxbashcommandnotfound.cn ~]$ comm -12 (sort text1.txt) (sort text2.txt) common.txt这个例子中我们将两个文本文件排序后的共有的行输出到了一个新的文本文件common.txt中。
实例12: 不仅对比内容了还检查了排序
[linuxbashcommandnotfound.cn ~]$ comm --check-order sorted_file1 sorted_file2在这个例子中comm会检查输入文件是否已经排序。如果文件已经排序comm命令将正常执行。如果输入文件没有排序comm命令将返回一个错误。
Linux comm命令的注意事项
当输入的文件未经排序时comm命令的结果可能不准确。如果在使用comm命令时遇到bash: comm: command not found提示可以根据上面给出的命令进行安装。
Linux comm相关命令
diff命令比较文件的不同cmp命令比较两个文件是否有差异sort命令排序或比较文件cat命令连接并打印文件more和less分页显示文件内容head和tail命令显示文件的开头和结尾部分cut命令移除文件中的某一部分grep命令在文件中搜索字符串awk命令用于文本和数据处理sed命令一种流编辑器