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