我是靠谱客的博主 敏感汉堡,最近开发中收集的这篇文章主要介绍linux怎么比较文件不同,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本教程操作环境:linux5.9.8系统、Dell G3电脑。

linux 比较文件不同

Linux文件比较命令用来比较两个文件内容的差别。主要有comm命令和diff命令。如果想对两个有序的文件进行比较,可以使用comm命令。如果要逐行比较两个文本文件,列出其不同之处可以使用diff命令。

使用comm命令比较:

比较已经排序的文件

comm [选项] 文件名1 文件名2
登录后复制

comm将逐行比较已经排序的两个文件。显示结果包括3列:

第1列为只在file1中找到的行;第2列为只在file2中找到的行;第3列为两个文件的公用行。

参数

参数file1和file2为comm要比较的文件的路径名。用连字符(-)来替代file1或者file2时,comm将从标准输入读取输入信息

选项

  • -1 不显示第1列(即不显示只在file1中找到的行)

  • -2 不显示第2列(即不显示只在file2中找到的行)

  • -3 不显示第3列(即不显示在两个文件中都找到的行)

注意

如果文件没有排序,comm就不能正常的工作

第2列的没一行前面有一个制表符,第3列中的每一行前面有两个制表符

示例:

原文件

$ cat a
bbbbb
ccccc
ddddd
eeeee
fffff
$ cat b
aaaaa
ddddd
eeeee
ggggg
hhhhh
登录后复制

输入命令:

$ comm a b
    aaaaa
bbbbb
ccccc
        ddddd
        eeeee
fffff
    ggggg
    hhhhh
$
登录后复制

比较排序过的a和b文件

$ comm -12 a b 
ddddd
eeeee
登录后复制

仅显示公有行

使用diff命令比较:

diff(difference)命令常用来比较两个文件中的内容。diff 命令在最简单的情况下,比较两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。

diff 命令是以逐行的方式比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。

比较文件的格式

diff [选项] 文件名1 文件名2
登录后复制

示例:

比较两个文件的不同。

创建两个样本文件,分别命名为 text 和 text1,并分别输入以下内容:

//test
11
22
33
44
55
66
77
//test1
11
22
aa
33
44
55
bb
66
登录后复制

在终端页面中输入命令如下:

[root@bogon ~]# diff test test1
3c3
<
---
> aa
7c7
<
---
> bb
9,10d8
< 77
<
登录后复制

输出信息的含义分别为:

  • “3c3”:表示第一个文件的第 3 行需要修改才能和第二个文件的第3行相匹配;

  • “---”:表示分隔线;

  • “>aa”:> 表示第二个文件,第一个文件中需要添加的内容为 aa,该内容存放在第二个文件中;

  • “>bb”:> 表示第二个文件,第一个文件中需要添加的内容为 bb,该内容存放在第二个文件中;

  • “9,10d8”:表示删除第一个文件中的第 9 和第 10 行才能和第二个文件中的第 8 行相匹配;

  • “<77”:表示第一个文件中待删除的内容为 77。

相关推荐:《Linux视频教程》

以上就是linux怎么比较文件不同的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是敏感汉堡为你收集整理的linux怎么比较文件不同的全部内容,希望文章能够帮你解决linux怎么比较文件不同所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(95)

评论列表共有 0 条评论

立即
投稿
返回
顶部