linux diff命令详解

linux diff命令详解,第1张

     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命令对比文档内容。

[语法]: diff [参数] 文件1 文件2

[说明]: 本命令比较两个文本文件,将不同的行列出来

-b 将一串空格或TAB 转换成一个空格或TAB

-e 生成一个编辑角本,作为ex 或ed 的输入可将文件1 转换成文件2

[例子]:

diff file1 file2

diff -b file1 file2

diff -e file1 file2 >edscript

diff 命令的常用参数

a 将所有文件当做文本文件来处理

b 忽略空格造成的不同

B 忽略空行造成的不同

q 只报告什么地方不同,不报告具体的不同信息

H 利用试探法加速对大文件的搜索

i 忽略大小写的变化

l 用pr对输出进行分页

r 在比较目录时比较所有的子目录

s 两个文件相同时才报告

v 在标准输出上输出版本信息并退出

实例:比较两个文件

代码如下:

[root@localhost 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行。

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

主要参数如下所示:

second.txt

comm命令主要用于比较两个 已经排过序 的文件。

主要参数如下所示:

comm在对比文件前 一定要先排序 ,否则会出现报错提示,以上面diff示例的中的first.txt和second.txt为例


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8996400.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存