良许Linux教程网 干货合集 Linux comm命令使用实例

Linux comm命令使用实例

comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作,下面为大家讲解一下Linux comm命令使用实例。

Linux comm命令使用实例

1.如何使用comm比较两个排序的文件

要使用’comm’比较两个排序的文件,您只需要将其名称作为参数传递给命令行工具即可。 以下是通用语法:

comm [name-of-first-file] [name-of-second-file]

例如,假设“file1”和“file2”是我们这两个文件。 前者包含以下内容:

001
056
127
258

而后者包含以下行:

002
056
167
369

现在,这里是’comm’命令输出在这种情况下:

comm file1 file2

img

 

所以你可以看到输出由三列组成。 第一个包含’file1’唯一的行,第二个包含’file2’唯一的行,最后,列3包含两个文件共同的行。

2.如何在comm命令输出中抑制各个列

如果需要,可以在comm命令输出中抑制各列。 为此,您有三个命令行选项: -1-2***和-3*** 。 正如您所猜测的,这些数字代表您要抑制的列。

例如,我们的命令就是压制第三列:

comm -3 file1 file2

img

 

所以你可以看到第三列被压制了。

请注意,您可以使用单个命令抑制多个列。 例如:

comm -12 file1 file2

将抑制第一列和第二列。

3.如何使comm比较未排序的文件

我们知道,comm命令只适用于排序的文件。 如果发现文件未被排序,则在输出中生成一条消息,告知用户有关此信息。 例如,我们将第一行和第二行交换在“file1”中,然后将其与“file2”进行比较。 输出结果如下:

img

 

所以你可以看到命令产生一个输出,说’file1’没有被排序。 现在,如果您不希望该工具检查输入是否排序,可以使用***–nocheck-order***选项。

comm –nocheck-order file1 file2

img

所以你可以看到早先显示的消息被抑制了。

请注意,如果要明确告知comm命令对输入文件进行排序检查,可以使用***–check-order***选项。

如何用自定义字符串分隔comm输出列

默认情况下,comm命令输出中的列用空格分隔。 但是,如果需要,您可以更改它,并将您选择的字符串作为分隔符。 这可以使用***–output-delimiter***选项来完成。 此选项要求您指定要用作分隔符的字符串。

comm –output-delimiter=STR file1 file2

例如,我们使用加号(+)作为分隔符。

img

如何使comm输出行NUL终止

默认情况下,comm命令输出行被换行。 但是,如果你愿意,你可以使它们NUL被终止。 这可以使用***-z***命令行选项来完成。

comm -z file1 file2

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部