昨日举荐:每天学一个 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.txt1,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