diff命令linux diff命令用于比较多个文本文件的差异

Linux命令diff、patch

背景

成都创新互联公司主营乐东黎族网站建设的网络公司,主营网站建设方案,成都App制作,乐东黎族h5成都小程序开发搭建,乐东黎族网站营销推广欢迎乐东黎族等地区企业咨询

在Linux系统环境的工作过程中,经常遇到需要对比文件差异的情况,此时,使用Linux提供的diff工具可以方便的发现文件不同版本之间差异,从而快速排除解决问题。

Windows端有强大文件对比工具BeyondCompare。

patch 命令可以将diff命令的输出应用到原始的对比文件中,将新版本的更新应用到原始的文件中。

命令

diff [option] [file1] [file2]

patch [option] [file1] [file_differ]

测试环境

WSL: Linux PERSONALPC 4.4.0-19041-Microsoft #488-Microsoft Mon Sep 01 13:43:00 PST 2020 x86_64 x86_64 x86_64 GNU/Linux

测试过程

linux系统下使用diff命令生成两个文件的差异

假设一个人A写了main.c程序之后,把代码发给另外一个人B,B写了程序之后,再把代码合入到自己的当中,但是A只想把B的差异部分合入到自己的代码当中,在这种情况之下可以通过diff命令生成差异文件,在合入到自己的代码当中。

代码结构:

A编写的test1/main.c

B编写的test2/main.c

diff 命令生成差异文件:diff -ruNa test1/main.c test2/main.c diff.patch

diff.patch内容如下

使用如下命令即可把patch合入,合入之后,test1/main.c的内容跟test2/main.c的一样

linux diff命令详解

;     diff命令在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。下面是linuxdiff命令的具体介绍:

diff(diff即different简写)命令用于比较文件的差异。

选项:

-

-a或——text:diff预设只会逐行比较文本文件;

-b或_ignore-space-change:不检查空格字符的不同;

-B或_ignore-blank-lines:不检查空白行;

-c:显示全部内容,并标出不同之处;

-C

-d或——minimal:使用不同的演算法,以小的单位来做比较;

-D

-e或——ed:此参数的输出格式可用于ed的script文件;

-f或-forward-ed:输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处;

-H或_speed-large-files:比较大文件时,可加快速度;

-l

-i或_ignore-case:不检查大小写的不同;

-l或——paginate:将结果交由pr程序来分页;

-n或——rcs:将比较结果以RCS的格式来显示;

-N或_new-file:在比较目录时,若文件A仅出现在某个目录中,预设会显示:Onlyin目录,文件A若使用-N参数,则diff会将文件A与一个空白的文件比较;

-p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称;

-P或_unidirectional-new-file:与-N类似,但只有当第二个目录包含了第一个目录所没有的文件时,才会将这个文件与空白的文件做比较;

-q或_brief仅显示有无差异,不显示详细的信息;

-r或——recursive:比较子目录中的文件;

-s或_report-identical-files:若没有发现任何差异,仍然显示信息;

-S

-t或_expand-tabs:在输出时,将tab字符展开;

-T或_initial-tab:在每行前面加上tab字符以便对齐;

-u,-U

-v或——version:显示版本信息;

-w或_ignore-all-space:忽略全部的空格字符;

-W

-x

-X

-y或_side-by-side:以并列的方式显示文件的异同之处;

_help:显示帮助;

_left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容;

_suppress-common-lines:在使用-y参数时,仅显示不同之处。

以上就是今天的分享了,希望可以帮助到大家。

本文章基于thinkpadE15品牌、centos7系统撰写的。


分享标题:diff命令linux diff命令用于比较多个文本文件的差异
网址分享:http://scyanting.com/article/doodsss.html