Linux Diff命令比较文件不同
source link: https://www.myfreax.com/diff-command-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Linux Diff命令比较文件不同
diff是一个命令行程序,可让您逐行比较两个文件。它还可以比较目录的内容
Linux Diff命令比较文件不同
diff
是一个命令行程序,可让您逐行比较两个文件。它还可以比较目录的内容。
diff
命令最常用于创建一个补丁,其中包含可以使用patch
命令应用的一个或多个文件之间的差异。
diff
命令的语法形式是diff [OPTION]... FILES
。其中FILES
可以是一个或者多个文件。OPTION
是diff命令的选项。
diff
命令可以以几种格式显示输出,其中最常见的是普通格式,上下文格式和统一格式。
输出包含文件相同与不相同的信息。如果文件匹配,则不会产生输出。要将命令输出保存到文件,请使用重定向运算符>
。
在本教程中,我们将使用file1
和file2
两个文件来说明diff
命令的工作方式。
diff file1 file2 > patch
Ubuntu
Arch Linux
Debian
CentOS
Fedora
file1Kubuntu
Ubuntu
Debian
Arch Linux
Centos
Fedora
file2在没有任何选项是运行diff命令最简单的形式,在这种情况下diff
命令比较两个文本文件,它会以标准格式生成输出。
标准格式输出由描述差异的一个或多个部分组成。与0a1
,2d2
和4c4,5
类似的字符称为更改命令。
每个更改命令从左到右包含这些内容,第一个文件中的行号或行范围。更改字符。第二个文件中的行号或行范围。
更改字符可以是,a
添加的行。c
换行。d
删除行。更改命令后跟已删除的完整行<
,添加到文件中完整行符号是>
。
change-command
< from-file-line...
---
> to-file-line...
diff file1 file2
0a1
> Kubuntu
2d2
< Arch Linux
4c4,5
< CentOS
---
> Arch Linux
> Centos
让我们解释一下输出。0a1
在file1的开头添加第二个文件的第一行。> Kubuntu
表示添加Kubuntu
到第一个文件的第一行。
2d2
在第一个文件删除第二行2
。d
符号后的2
表示在第二个文件没有被删除。< Arch Linux
表示被删除的行。
4c4,5
使用第二个文件中的4-5
行替换第一个文件中的第5
行。
< CentOS
该行在第一个文件中被替换。---
分隔符。第二个文件的行> Centos
替换第一个文件> Arch Linux
行。
忽略区分大小写
在上述示例中您可能会注意到,diff
命令默认区分大小写。使用-i
选项指示diff
忽略大小写。
diff -ui file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100
+++ file2 2019-11-25 21:00:36.342231668 +0100
@@ -1,6 +1,7 @@
+Kubuntu
Ubuntu
-Arch Linux
Debian
+Arch Linux
CentOS
Fedora
比较文本文件的差异是Linux系统管理员最常见的任务之一。diff
命令逐行比较文件。如有任何疑问,请在下面发表评论。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK