昨日举荐: 每天学一个 Linux 命令(35):dos2unix
命令简介
diff 命令用于查找、剖析两个文件中不同的行,并打印输出在屏幕上。
diff 命令是以逐行的形式,比拟文本文件的不同之处。如果是对指定的目录进行比拟,就是比拟该指定目录下的同名文件,不会对该目录的子目录下的文件进行比拟操作。
diff 命令最根底的用处就是用来比拟指定的两个文件的不同。
语法格局
diff [选项] [文件]
diff [OPTION] [FILE]
选项阐明
-< 行数 > #指定要显示的行数,必须与 - c 或 - u 参数一并应用
-a #逐行比拟文件
-b #不对空格进行比拟
-B #不对空行进行比拟
-c #显示全部内容,并标出不同之处
-C< 行数 > #与执行“-c-< 行数 >”指令雷同
-d #以小的单位来做比拟
-H #减速比拟大文件
-n #将比拟后果以 RCS 的格局显示
-q #只需显示有无差别,不须要显示其它信息
-r #对子目录的文件进行比拟
-s #如果两个文件没有差别,也给出相干的信息
-S #比拟两个目录时,从指定的文件开始执行比拟动作
-u #以合并的形式来显示文件内容的不同
-v #显示版本信息
-w #疏忽所有空格字符
-y #以并列的形式显示两个文件的差别之处
--help #显示帮忙
利用举例
比拟两个文件的不同之处
[root@centos7 testdir]# diff mingongge1.txt mingongge2.txt
1,8c1,4
< 1111 11 111111 1 111 1 1 11
< 22222222222 222 2222 22 2 2 2
< 33333333333 333333 3333 333 33
< 444444444444 444 444444444
< 1
< 2
< 3
< 4
---
> head1
> head2
> head3
> head4
#a 示意增加,c 示意更改,d 示意删除
#以 < 结尾的行是第一个文件中的行
#以 > 结尾的行是第二个文件中的行
[root@centos7 testdir]# diff -c mingongge1.txt mingongge2.txt
*** mingongge1.txt 2021-01-16 09:55:49.489792550 -0500
--- mingongge2.txt 2021-01-16 03:36:24.645284332 -0500
***************
*** 1,8 ****
! 1111 11 111111 1 111 1 1 11
! 22222222222 222 2222 22 2 2 2
! 33333333333 333333 3333 333 33
! 444444444444 444 444444444
! 1
! 2
! 3
! 4
--- 1,4 ----
! head1
! head2
! head3
! head4
diff 比对字符含意
! #示意此行是一个或多个须要更改的行的一部分
+ #示意第二个文件中须要增加到第一个文件中的一行
- #示意第一个文件中须要删除的一行
[root@centos7 testdir]# diff -c cuttest.txt cest.txt
*** cuttest.txt 2021-01-16 12:12:15.844549487 -0500
--- cest.txt 2021-01-16 12:15:08.775042428 -0500
***************
*** 1,6 ****
--- 1,7 ----
aaaaabbbbbbbb
cccccccccccccccccccc
ddddddddddd
+ 1111111111111111111111111111111111111111
fffffffffffffffffff
ggggggggggggggggg
wwwwwwwwwwwwwwww
#合并的形式来进行比拟
[root@centos7 testdir]# diff -u cuttest.txt cest.txt
--- cuttest.txt 2021-01-16 12:12:15.844549487 -0500
+++ cest.txt 2021-01-16 12:15:08.775042428 -0500
@@ -1,6 +1,7 @@
aaaaabbbbbbbb
cccccccccccccccccccc
ddddddddddd
+1111111111111111111111111111111111111111
fffffffffffffffffff
ggggggggggggggggg
wwwwwwwwwwwwwwww
每天学一个 Linux 命令(33):uniq
每天学一个 Linux 命令(34):wc