diff命令详解(代码片段)

jkin jkin     2023-02-16     764

关键词:

Linux diff命令

Linux diff命令用于比较文件的差异。

diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录

用法:

diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>]
[-X <文件>][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2]

参数说明:

  • -<行数>  指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。
  • -a或--text  diff预设只会逐行比较文本文件。
  • -b或--ignore-space-change  不检查空格字符的不同。
  • -B或--ignore-blank-lines  不检查空白行。
  • -c  显示全部内文,并标出不同之处。
  • -C<行数>或--context<行数>  与执行"-c-<行数>"指令相同。
  • -d或--minimal  使用不同的演算法,以较小的单位来做比较。
  • -D<巨集名称>或ifdef<巨集名称>  此参数的输出格式可用于前置处理器巨集。
  • -e或--ed  此参数的输出格式可用于ed的script文件。
  • -f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。
  • -H或--speed-large-files  比较大文件时,可加快速度。
  • -l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
  • -i或--ignore-case  不检查大小写的不同。
  • -l或--paginate  将结果交由pr程序来分页。
  • -n或--rcs  将比较结果以RCS的格式来显示。
  • -N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:
  • Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
  • -p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。
  • -P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
  • -q或--brief  仅显示有无差异,不显示详细的信息。
  • -r或--recursive  比较子目录中的文件。
  • -s或--report-identical-files  若没有发现任何差异,仍然显示信息。
  • -S<文件>或--starting-file<文件>  在比较目录时,从指定的文件开始比较。
  • -t或--expand-tabs  在输出时,将tab字符展开。
  • -T或--initial-tab  在每行前面加上tab字符以便对齐。
  • -u,-U<列数>或--unified=<列数>  以合并的方式来显示文件内容的不同。
  • -v或--version  显示版本信息。
  • -w或--ignore-all-space  忽略全部的空格字符。
  • -W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。
  • -x<文件名或目录>或--exclude<文件名或目录>  不比较选项中所指定的文件或目录。
  • -X<文件>或--exclude-from<文件>  您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。
  • -y或--side-by-side  以并列的方式显示文件的异同之处。
  • --help  显示帮助。
  • --left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
  • --suppress-common-lines  在使用-y参数时,仅显示不同之处

 实例:

1、比较两个文件的不同:

[[email protected] test3]# diff log2014.log log2013.log 
3c3
< 2014-03
---
> 2013-03
8c8
< 2013-07
---
> 2013-08
11,12d10
< 2013-11
< 2013-12

说明:上面的"3c3"和"8c8"表示log2014.log和log20143log文件在3行和第8行内容有所不同;"11,12d10"表示第一个文件比第二个文件多了第11和12行

2、并排格式输出:

[[email protected] test3]# diff log2014.log log2013.log  -y -W 50
2013-01                 2013-01
2013-02                 2013-02
2014-03               | 2013-03
2013-04                 2013-04
2013-05                 2013-05
2013-06                 2013-06
2013-07                 2013-07
2013-07               | 2013-08
2013-09                 2013-09
2013-10                 2013-10
2013-11               <
2013-12               <
[[email protected] test3]# diff log2013.log log2014.log  -y -W 50
2013-01                 2013-01
2013-02                 2013-02
2013-03               | 2014-03
2013-04                 2013-04
2013-05                 2013-05
2013-06                 2013-06
2013-07                 2013-07
2013-08               | 2013-07
2013-09                 2013-09
2013-10                 2013-10
                      > 2013-11
                      > 2013-12

说明:

"|"表示前后2个文件内容有不同

"<"表示后面文件比前面文件少了1行内容

">"表示后面文件比前面文件多了1行内容

29-docker-常用命令详解-dockerhistory/diff(代码片段)

常用命令详解-dockerhistory/diff前言dockerhistory语法格式options说明使用示例dockerdiff语法格式options说明使用示例前言本篇来学习下dockerhistory和dockerdiff命令dockerhistory作用:查看指定镜像的创建历史语法格式dockerhistory[OPTIONS]IMAGEoptio... 查看详情

linux文本对比diff命令详解(整理)(代码片段)

diff命令详解 1.概述 windows系统下面就有不错的文本对比工具可以使用,例如常用的BeyondCompare,WinMerge都是图形界面的比较工具而且使用非常方便,如果你仅仅是在windows下工作,这些GUI的比较工具绝对是首选。对于在linux... 查看详情

diff命令详解(代码片段)

Linuxdiff命令Linuxdiff命令用于比较文件的差异。diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录用法:diff[-abBcdefHilnNpPqrstTuvwy][-<行数>][-C<行数&... 查看详情

diff命令详解

  基础命令学习目录首页 原文链接:https://www.cnblogs.com/wangqiguo/p/5793448.html阅读目录1.概述2.diff如何工作,如何理解diff的执行结果3.Normal模式4.Context模式5.Unified模式6.比较目录7.一些有用的参数回到顶部1.概述本文将要讨... 查看详情

diff命令详解

...录7.一些有用的参数回到顶部1.概述本文将要讨论的是diff命令,diff用来比较两个文件。当然文件比较的工具很多,windows系统下面就有不错的工具可以使用,例如常用的BeyondCompare,WinMerge都是图形界面的比较工具而且使用非常 查看详情

diffpatch命令制作补丁(代码片段)

diff命令diff可以比较两个文件,并可同时记录下二者的区别。制作补丁时的一般用法和常见选项为:diff【选项】源文件(夹)目的文件(夹)-r:递归,设置后diff会将两个不同版本源代码目录中的所有对应文件都进行一次比较,... 查看详情

vue中diff算法详解(代码片段)

 首先带大家了解一下虚拟DOM概念 一、虚拟DOM本质        虚拟DOM本质就是一个js对象,用来保存DOM关键信息 。二、虚拟DOM概念        后缀名为 .vue文件中的template里写的标签,都是模板,都会被vue处理成虚... 查看详情

读懂diff(代码片段)

 diff是UNIX系统下很重要的工具程序。diff命令比较文本文件。它能比较单个文件或者目录内容,一般用于版本控制,可以比较两个版本间的代码差异,并制作成补丁文件。diff命令时代码版本管理的基石之一。我们可以在命令... 查看详情

vue的diff算法详解(代码片段)

为什么需要虚拟dom?虚拟dom只是一个普通的js对象。由于每次渲染视图都是先创建vnode,然后用它创建真实DOM插入到页面中,所以可以将上一次渲染视图所创建的vnode缓存起来。之后重新渲染视图,就可以对比oldVnod... 查看详情

docker命令diff(代码片段)

...m/engine/reference/commandline/diff/环境virtualbox6.1centos7.8docker19.03命令格式dockerdiffCONTAINER检查容器中哪些文件发生了变更。命令选项标记描述A增加文件或者文件夹D删除的文件或者文件夹C修改的文件或者文件夹示例查看容器文件变换[root... 查看详情

gitdiff命令(代码片段)

1.gitdiff 用于查看未暂存的文件更新了哪些部分,也就是以修改未暂存的文件和 已暂存的相比1.创建文件diff.txtechoblue01>diff.txt2.gitadd把diff.txt添加到暂存区中修改文件diff.txt内容为blue02,这时可以知道工作区中diff.txt内容为b... 查看详情

docker常用命令详解(代码片段)

...12-2606:39:22"--until"2018-12-2606:39:55"c-front 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。根据自己的理解,总的来说分为以下几种:Docker环境... 查看详情

n天学习一个linux命令之diff(代码片段)

用途按行比较文件差异,也可以比较目录用法diff[OPTION]...FILES常用选项-i--ignore-case忽略大小写--ignore-file-name-case忽略文件名大小写--no-ignore-file-name-case文件名区分大小写-E--ignore-tab-expansion忽略tab字符-b--ignore-space-change忽略空格-w--ign... 查看详情

linux操作系统笔记基础命令(代码片段)

文章目录linux基础命令cd命令详解ls命令详解pwd命令详解hostname命令详解clear命令详解who、whoami、w命令which命令cal命令详解ldd命令详解scp命令详解ssh命令linux用户权限useradd命令详解usermod命令详解userdel命令详解groupadd命令详解groupdel... 查看详情

使用diff制作补丁学习笔记(代码片段)

源文件:main.c#include<stdio.h>intmain()printf("hello");修改之后的文件:main1.c#include<stdio.h>intmain()printf("hello");printf("world");生成补丁的命令:diff-upmaintmain1.c>example.patch打补丁命令patch-p1&l 查看详情

xtools(代码片段)

xtools-----标准数据统计,主要是命令次数的统计,transactioninsCom_insert(diff)updCom_update(diff)delCom_delete(diff)selCom_select(diff)tpsCom_insert+Com_update+Com_delete(diff)-----线程处理,threadsrunThreads_runningconThrea 查看详情

git-使用命令和p4merge进行diff(代码片段)

...rge的路径添加到环境变量PATH里面.这样操作后,就可以通过命令行启动p4merge了: 配置p4merge 查看详情

liquibase-数据库版本管理使用(代码片段)

...项目在根路径修改build.gradle1.2、子模块修改build.gradle2、命令示例3、命令详解3.1、数据库更新命令3.2、数据库回滚命令3.2.1、直接执行回滚3.2.2、生成回滚脚本3.2.3、生成“未来回滚”脚本3.2.4回滚命令3.3、差异命令3.4、文档命令3.... 查看详情