找回密码
 注册
关于网站域名变更的通知
查看: 691|回复: 3
打印 上一主题 下一主题

Linux diff命令

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-7-5 14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

! [- h: E/ v0 C, lLinux diff命令用于比较文件的差异。
6 h0 U& v% L3 b1 x5 O' Q9 v9 d  @5 ^& z& [5 Q& x  e% F
diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
8 Z$ M  b  _. c+ C& V- ?, m5 D- s5 p" f8 Q' E/ N2 j- y) L
语法
2 l7 g) U- z9 Sdiff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2]
  Z& c* K; o: M参数:4 N$ Q7 t7 V4 p, X8 L. q, T

; u# ]2 {' `  P$ C& \/ s-<行数>  指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。) a' j% [; k$ ]
-a或--text  diff预设只会逐行比较文本文件。; ^7 P. R8 _9 h0 |' P
-b或--ignore-space-change  不检查空格字符的不同。
3 j4 b3 ]4 `  k& U. E, k3 B( o& G+ \-B或--ignore-blank-lines  不检查空白行。
) C) O: `: B7 Y/ a-c  显示全部内文,并标出不同之处。
* v# C7 W/ r6 d) Q+ d-C<行数>或--context<行数>  与执行"-c-<行数>"指令相同。! K. |% L5 ~" t. N: h# i9 D
-d或--minimal  使用不同的演算法,以较小的单位来做比较。+ r* @) i* f# d! k) ~
-D<巨集名称>或ifdef<巨集名称>  此参数的输出格式可用于前置处理器巨集。
7 C% ^) m; S4 S1 {; M-e或--ed  此参数的输出格式可用于ed的script文件。
# r( f% e+ E" a' R1 Y2 c2 O-f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。
; j* _7 [2 X2 ]+ U6 l-H或--speed-large-files  比较大文件时,可加快速度。
. P1 `3 b- [# J7 i-l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
# v& z: ~1 |; n. B) N4 k# G8 ^-i或--ignore-case  不检查大小写的不同。
2 t9 v3 ]  w4 \1 L' u& ^3 V-l或--paginate  将结果交由pr程序来分页。9 `+ {0 h$ @" C
-n或--rcs  将比较结果以RCS的格式来显示。, v3 l1 N8 w$ B: `' |9 s2 W  i
-N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:
" G- f' t0 U% POnly in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
: M  t! }: [' V-p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。; v# o3 W1 s# d8 c5 g1 b
-P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
+ J9 {) ^( i- z: z-q或--brief  仅显示有无差异,不显示详细的信息。4 R0 N2 ^; T7 f0 k+ L5 G
-r或--recursive  比较子目录中的文件。& D* B" L( _+ ^9 ?2 ~. A: |) p. u
-s或--report-identical-files  若没有发现任何差异,仍然显示信息。
- ?4 U6 T! ~4 Z  n2 @  e, ~0 Y3 ]-S<文件>或--starting-file<文件>  在比较目录时,从指定的文件开始比较。0 L; e" g9 n5 O( G5 j0 i
-t或--expand-tabs  在输出时,将tab字符展开。
. j( x0 r6 u) A; r  V0 g-T或--initial-tab  在每行前面加上tab字符以便对齐。
- {5 l8 m  e% h! R5 d-u,-U<列数>或--unified=<列数>  以合并的方式来显示文件内容的不同。! U6 i- u& c5 m- g8 d+ @/ T
-v或--version  显示版本信息。. b+ e. f. l# u0 _2 k8 V' W0 t% j
-w或--ignore-all-space  忽略全部的空格字符。
4 s) \7 y1 T. Q. q5 x' K7 T) ~! N+ L-W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。
  o9 E: {5 d% d: J: `8 `-x<文件名或目录>或--exclude<文件名或目录>  不比较选项中所指定的文件或目录。: W/ c1 T+ w" f  w/ D3 ^0 T* o
-X<文件>或--exclude-from<文件>  您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。
& G! a; L! C7 C' w-y或--side-by-side  以并列的方式显示文件的异同之处。* n% K$ m5 N" N* J8 v
--help  显示帮助。5 u6 K+ b% t) f* a) i5 a0 V
--left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
7 V' z5 n  I% j) b' `; \# K! F--suppress-common-lines  在使用-y参数时,仅显示不同之处。
; j0 W# b0 V1 ?实例1:比较两个文件
% A( i9 P+ C, y% F8 Y! u[root@localhost test3]# diff log2014.log log2013.log
- e- f+ t7 S/ S+ @. M, V3c3
5 h9 }0 d5 Z7 l2 @- H5 p# r) G< 2014-03, r; C: i- s& h% ]
---
  E: n, h" G( P$ c+ B( q9 P> 2013-03
+ Z- e/ }6 e, W8c8, e" a1 X4 }& a; t; _
< 2013-07
) k1 s3 n2 F2 Y2 ^---
6 W% b8 v7 z8 U/ g; g; E' o> 2013-08
, t% E+ B1 x% P, Y" d( w- p11,12d10
8 L& t$ B8 b2 {8 P. Z3 Q< 2013-11
1 u0 f/ a3 P0 q' S< 2013-12# s0 U$ k* e( m' g+ Z& b
上面的"3c3"和"8c8"表示log2014.log和log20143log文件在3行和第8行内容有所不同;"11,12d10"表示第一个文件比第二个文件多了第11和12行。( F8 d5 [5 R! F+ k. [* u
" q3 |3 v, n! k7 Y$ N1 W
实例2:并排格式输出& J4 P; a& _5 J! g
[root@localhost test3]# diff log2014.log log2013.log  -y -W 50
( e# w6 _8 S5 C; H8 u2013-01                 2013-01* R; I" X% j- G4 s/ ^3 T* l
2013-02                 2013-02
4 @- P" t( L: W/ [9 L% _2014-03               | 2013-03% x$ E* [: r' r# N: C
2013-04                 2013-04
3 h0 }- y4 ~1 z; a- H2013-05                 2013-055 K3 o. X6 R, b3 p" K# g
2013-06                 2013-06
+ g0 |1 H$ c$ p( U; W9 G1 {8 \2013-07                 2013-079 r9 W  l1 x0 z* t5 K
2013-07               | 2013-084 |& `* P) M/ y& O% q" x: V" ?
2013-09                 2013-09$ D0 M1 P) ^& D' \4 z$ C! y
2013-10                 2013-10& X; |3 W1 G* h, ]
2013-11               <0 Z/ x1 ^6 Z& C
2013-12               <
3 u/ T, M" @6 A8 [7 D4 H5 d3 k[root@localhost test3]# diff log2013.log log2014.log  -y -W 50
0 H9 ~* y- w$ t2013-01                 2013-01
/ [+ [% C( R+ z4 G2 C( Y: Z! s3 Q2013-02                 2013-02
! q! z, D% t: H' R( K5 }  |2013-03               | 2014-031 U9 `+ ]4 ]: V4 ?# ]% }
2013-04                 2013-04
7 ^5 g$ K: X- ?8 D5 ?/ z2013-05                 2013-059 Y+ K6 C4 V- ^+ L: l7 j
2013-06                 2013-06! l3 B6 }7 c. j; ^
2013-07                 2013-070 B" R( k$ y7 F
2013-08               | 2013-077 V, j" P& R& d) r$ G- f9 B
2013-09                 2013-09' K( m) o, ~# n! L- N
2013-10                 2013-10
* Z1 S0 a8 l# m5 K                      > 2013-11
4 e7 I, d* M7 M! [/ V/ F! {! ?                      > 2013-12
- n1 G5 z0 _+ |  i说明:
7 M' X9 h' e( C% p( g1 t
" w3 i0 @) ^2 l- n. z( u0 G5 M"|"表示前后2个文件内容有不同4 Q# \' j& }% J% a
"<"表示后面文件比前面文件少了1行内容
1 C8 ]1 P6 p2 H" j8 Q: x6 O- J">"表示后面文件比前面文件多了1行内容

该用户从未签到

2#
发表于 2021-7-5 15:07 | 只看该作者
Linux diff命令

该用户从未签到

3#
发表于 2021-7-5 18:03 | 只看该作者
Linux diff命令

该用户从未签到

4#
发表于 2021-7-5 18:06 | 只看该作者
Linux diff命令
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-24 01:48 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表