php diff 文本比较,2.1 diff指令:比较文本文件的差异

第2章  文件与目录管理

在Linux系统中,用户可以使用指令对文件和目录进行管理。例如,文件和目录的比较、连接、查找功能。最为重要的是通过这些指令可以修改文件和目录的时间、属性及其权限等。在本章中,将具体介绍这些管理命令的原型、参数及使用方法等。

2.1  diff指令:比较文本文件的差异

【语    法】diff [-abBcdefHilnNpPqrstTuvwy][-][-C][-D][-I][-S][-W ][-x][-X][--help][--left-column][--suppress- common-line][文件或目录1][文件或目录2]

【功能介绍】该指令可以对文本文件之间进行差异比较,并列出不同之处。

【参数说明】

参数

功能

-

指定要显示多少行的文本,该参数必须

与参数-c或-u一起使用

-a

将所有的文件均作为文本文件进行处理

-b

不检查文件中的空格字符

-B

不检查文件的空白行

-c

显示全部的文件内容,并标识出其不同之处

续表

参数

功能

-C

与参数-c、-含义相同

-d

使用不同的演算法,以较小的单位进行比较

-D

此参数的输出格式可以用于前置处理器巨集

-e

此参数的输出格式可以用于ed指令的script文件

-f

输出的格式类似于ed指令的script文件,

但按照原来文件的顺序显示不同处

-H

对大的文件进行比较时,可以加快其比较速度

-l

如果两个文件在某几行有不同,并且

这几行同时都包含了选项中指定的字符

或字符串,则不显示这两个文件的差异

-i

不检查文件数据的大小写不同

-n或-rcs

将比较结果以RCS的格式进行显示

-N

在比较目录时,如果文件1仅仅出现

在某个目录中,则默认显示“only in

目录名”。若比较文件1时,使用了

该参数,则diff指令将文件1与一个空

白文件进行比较

-p

如果比较的文件为C语言代码文件,

则将显示差异所在的函数名称

-P

与参数-N功能相似。但只有当目录2

中包含了目录1所没有的文件时,

才会将这个文件与空白的文件进行比较

-q

仅仅显示有无差异,并不显示详细的信息

-r

比较子目录中的文件

-s

如果没有发现任何差异,将仍然显示相关的信息

-S

在比较目录时,将从指定的文件开始比较

-t

在输出信息时,会将tab字符展开

-T

在每行前面都加上tab字符进行对齐

-u或-U

以合并的方式显示文件内容的不同

-v

显示版本信息

-w

忽略全部的空格字符

-W

在使用参数“-y”时,指定栏宽

续表

-x

不比较选项中所指定的文件或目录

-X

可以将文件或目录类型保存为文本文件

-y

以并列的方式显示文件的异同

--help

显示帮助信息

--left-column

在使用参数“-y”时,如果两个

文件的某一行内容相同,则只在左侧

的栏位中显示该行的内容

-- suppress-common-lines

在使用参数“-y”时,只显示其不同之处

【经验技巧】

diff指令是以逐行的方式,比较文本文件的异同处。

如果该指令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。

【示例2-1】将目录"/usr/li"下的文件"test.txt"与当前目录下的文件"test.txt"进行比较,输入如下命令:

$ diff /usr/li test.txt     #使用diff指令对文件进行比较

上面的命令执行后,会将比较后的不同之处以指定的形式列出,如下所示:

n1 a n3,n4

n1,n2 d n3

n1,n2 c n3,n4

其中,字母"a"、"d"、"c"分别表示添加、删除及修改操作。而"n1"、"n2"表示在文件1中的行号,"n3"、"n4"表示在文件2中的行号。

注意:以上说明指定了两个文件中不同处的行号及其相应的操作。在输出形式中,每一行后面将跟随受到影响的若干行。其中,以""开始的行属于文件2。

【相关指令】locate,diffstat

【责任编辑:book TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值