linux如何比较文件不同

61次阅读
没有评论

共计 1481 个字符,预计需要花费 4 分钟才能阅读完成。

本篇内容介绍了“linux 如何比较文件不同”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

linux 比较文件不同的方法:1、使用 comm 命令,可比较已经排序的文件,语法“comm [选项] 文件名 1 文件名 2”;2、使用 diff 命令,会以逐行的方式比较文本文件的异同处,语法“diff [选项] 文件名 1 文件名 2”。

本教程操作环境: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
//test1
66

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

[root@bogon ~]# diff test test1
  aa
  bb
9,10d8
  77

输出信息的含义分别为:

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

“—”:表示分隔线;

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

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

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

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

“linux 如何比较文件不同”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计1481字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)