青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

轉(zhuǎn)載--diff命令的使用

Posted on 2008-11-14 16:12 Prayer 閱讀(575) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Shell

功能說(shuō)明:比較文件的差異。

語(yǔ)  法:diff [-abBcdefHilnNpPqrstTuvwy][-<行數(shù)>][-C <行數(shù)>][-D <巨集名稱>][-I <字符或字符串>][-S <文件>][-W <寬度>][-x <文件或目錄>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目錄1][文件或目錄2]

補(bǔ)充說(shuō)明:diff以逐行的方式,比較文本文件的異同處。所是指定要比較目錄,則diff會(huì)比較目錄中相同文件名的文件,但不會(huì)比較其中子目錄。

參  數(shù):
 -<行數(shù)>  指定要顯示多少行的文本。此參數(shù)必須與-c或-u參數(shù)一并使用。
 -a或--text  diff預(yù)設(shè)只會(huì)逐行比較文本文件。
 -b或--ignore-space-change  不檢查空格字符的不同。
 -B或--ignore-blank-lines  不檢查空白行。
 -c  顯示全部?jī)?nèi)文,并標(biāo)出不同之處。
 -C<行數(shù)>或--context<行數(shù)>  與執(zhí)行"-c-<行數(shù)>"指令相同。
 -d或--minimal  使用不同的演算法,以較小的單位來(lái)做比較。
 -D<巨集名稱>或ifdef<巨集名稱>  此參數(shù)的輸出格式可用于前置處理器巨集。
 -e或--ed  此參數(shù)的輸出格式可用于ed的script文件。
 -f或-forward-ed  輸出的格式類似ed的script文件,但按照原來(lái)文件的順序來(lái)顯示不同處。
 -H或--speed-large-files  比較大文件時(shí),可加快速度。
 -l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若兩個(gè)文件在某幾行有所不同,而這幾行同時(shí)都包含了選項(xiàng)中指定的字符或字符串,則不顯示這兩個(gè)文件的差異。
 -i或--ignore-case  不檢查大小寫的不同。
 -l或--paginate  將結(jié)果交由pr程序來(lái)分頁(yè)。
 -n或--rcs  將比較結(jié)果以RCS的格式來(lái)顯示。
 -N或--new-file  在比較目錄時(shí),若文件A僅出現(xiàn)在某個(gè)目錄中,預(yù)設(shè)會(huì)顯示:
Only in目錄:文件A若使用-N參數(shù),則diff會(huì)將文件A與一個(gè)空白的文件比較。
 -p  若比較的文件為C語(yǔ)言的程序碼文件時(shí),顯示差異所在的函數(shù)名稱。
 -P或--unidirectional-new-file  與-N類似,但只有當(dāng)?shù)诙€(gè)目錄包含了一個(gè)第一個(gè)目錄所沒有的文件時(shí),才會(huì)將這個(gè)文件與空白的文件做比較。
 -q或--brief  僅顯示有無(wú)差異,不顯示詳細(xì)的信息。
 -r或--recursive  比較子目錄中的文件。
 -s或--report-identical-files  若沒有發(fā)現(xiàn)任何差異,仍然顯示信息。
 -S<文件>或--starting-file<文件>  在比較目錄時(shí),從指定的文件開始比較。
 -t或--expand-tabs  在輸出時(shí),將tab字符展開。
 -T或--initial-tab  在每行前面加上tab字符以便對(duì)齊。
 -u,-U<列數(shù)>或--unified=<列數(shù)>  以合并的方式來(lái)顯示文件內(nèi)容的不同。
 -v或--version  顯示版本信息。
 -w或--ignore-all-space  忽略全部的空格字符。
 -W<寬度>或--width<寬度>  在使用-y參數(shù)時(shí),指定欄寬。
 -x<文件名或目錄>或--exclude<文件名或目錄>  不比較選項(xiàng)中所指定的文件或目錄。
 -X<文件>或--exclude-from<文件>  您可以將文件或目錄類型存成文本文件,然后在=<文件>中指定此文本文件。
 -y或--side-by-side  以并列的方式顯示文件的異同之處。
 --help  顯示幫助。
 --left-column  在使用-y參數(shù)時(shí),若兩個(gè)文件某一行內(nèi)容相同,則僅在左側(cè)的欄位顯示該行內(nèi)容。
 --suppress-common-lines  在使用-y參數(shù)時(shí),僅顯示不同之處。

===========================================================================

摘要:本文詳細(xì)介紹了diff命令的基本用法

作者:zieckey (zieckey@yahoo.com.cn)
   All Rights Reserved!

有這樣兩個(gè)文件:

程序清單1 :hello.c

#include <stdio.h>

int main(void)
{
   char msg[] = "Hello world!";
  
    puts(msg);
    printf("Welcome to use diff commond.\n");
   
    return 0;   
}


程序清單2:hello_diff.c

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char msg[] = "Hello world,fome hello_diff.c";
   
    puts(msg);
    printf("hello_diff.c says,'Here you are,using diff.'\n");
   
    return 0;   
}

我們使用diff命令來(lái)查看這兩個(gè)文件的不同之處,有一下幾種方便的方法:
1、普通格式輸出:
[root@localhost diff]# diff hello.c hello_diff.c
1a2
> #include <stdlib.h>
5c6
<       char msg[] = "Hello world!";
---
>       char msg[] = "Hello world,fome hello_diff.c";
8c9
<       printf("Welcome to use diff commond.\n");
---
>       printf("hello_diff.c says,'Here you are,using diff.'\n");
[root@localhost diff]#

上面的“1a2”表示后面的一個(gè)文件"hello_diff.c"比前面的一個(gè)文件"hello.c"多了一行
"5c6"表示第一個(gè)文件的第5行與第二個(gè)文件的第6行有區(qū)別

2、并排格式輸出
[root@localhost diff]# diff hello.c hello_diff.c -y -W 130
#include <stdio.h>                                              #include <stdio.h>
                                                              > #include <stdlib.h>

int main(void)                                                  int main(void)
{                                                               {
        char msg[] = "Hello world!";                          |         char msg[] = "Hello world,fome hello_diff.c";

        puts(msg);                                                      puts(msg);
        printf("Welcome to use diff commond.\n");             |         printf("hello_diff.c says,'Here you are,using diff.'\

        return 0;                                                       return 0;
}                                                               }
[root@localhost diff]#
這種并排格式的對(duì)比一目了然,可以快速找到不同的地方。
-W選擇可以指定輸出列的寬度,這里指定輸出列寬為130

3、上下文輸出格式
[root@localhost diff]# diff hello.c hello_diff.c -c
*** hello.c     2007-09-25 17:54:51.000000000 +0800
--- hello_diff.c        2007-09-25 17:56:00.000000000 +0800
***************
*** 1,11 ****
#include <stdio.h>

int main(void)
{
!       char msg[] = "Hello world!";

        puts(msg);
!       printf("Welcome to use diff commond.\n");

        return 0;
}
--- 1,12 ----
#include <stdio.h>
+ #include <stdlib.h>

int main(void)
{
!       char msg[] = "Hello world,fome hello_diff.c";

        puts(msg);
!       printf("hello_diff.c says,'Here you are,using diff.'\n");

        return 0;
}
[root@localhost diff]#
這種方式在開頭兩行作了比較文件的說(shuō)明,這里有三中特殊字符:
+        比較的文件的后者比前著多一行
-        比較的文件的后者比前著少一行       
!        比較的文件兩者有差別的行

4、統(tǒng)一輸出格式
[root@localhost diff]# diff hello.c hello_diff.c -u
--- hello.c     2007-09-25 17:54:51.000000000 +0800
+++ hello_diff.c        2007-09-25 17:56:00.000000000 +0800
@@ -1,11 +1,12 @@
#include <stdio.h>
+#include <stdlib.h>

int main(void)
{
-       char msg[] = "Hello world!";
+       char msg[] = "Hello world,fome hello_diff.c";

        puts(msg);
-       printf("Welcome to use diff commond.\n");
+       printf("hello_diff.c says,'Here you are,using diff.'\n");

        return 0;
}
[root@localhost diff]#
正如看到的那樣,統(tǒng)一格式的輸出更加緊湊,所以更易于理解,更易于修改。

5、其他
假如你想查看兩個(gè)文件是否不同又不想顯示差異之處的話,可以加上-q選項(xiàng):
[root@localhost diff]# diff hello.c hello_diff.c -q
Files hello.c and hello_diff.c differ
[root@localhost diff]# 另外你還可以提供一些匹配規(guī)則來(lái)忽略某中差別,可以用 -I regexp

[root@localhost diff]# diff hello.c hello_diff.c -c -I include
*** hello.c     2007-09-25 17:54:51.000000000 +0800
--- hello_diff.c        2007-09-25 17:56:00.000000000 +0800
***************
*** 2,11 ****

int main(void)
{
!       char msg[] = "Hello world!";

        puts(msg);
!       printf("Welcome to use diff commond.\n");

        return 0;
}
--- 3,12 ----

int main(void)
{
!       char msg[] = "Hello world,fome hello_diff.c";

        puts(msg);
!       printf("hello_diff.c says,'Here you are,using diff.'\n");

        return 0;
}
[root@localhost diff]#

這里通過(guò)“ -I include”選項(xiàng)來(lái)忽略帶有“ include”字樣的行
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜电影亚洲| 欧美国产综合视频| 久热精品视频在线| 亚洲一区二区三区四区视频| 亚洲国产经典视频| 亚洲毛片av| 亚洲影视九九影院在线观看| 在线午夜精品自拍| 亚洲欧美一区二区三区极速播放 | 久久er99精品| 美女视频黄免费的久久| 国产欧美欧美| 亚洲精品欧美极品| 亚洲第一在线视频| 久久精品视频免费播放| 久久亚洲精品中文字幕冲田杏梨| 久久久久久综合| 欧美午夜三级| 激情成人在线视频| 国产一区二区三区黄| 麻豆精品视频在线观看| 欧美大尺度在线观看| 野花国产精品入口| 久久在线观看视频| 国产精品久久久久久影视| 亚洲黄色影院| 久久精品导航| 亚洲欧美日本视频在线观看| 久久免费观看视频| 久久资源在线| 国产一区二区三区四区| 亚洲一区二区在线免费观看| 久久久精品动漫| 中文亚洲视频在线| 欧美日韩一区二区在线观看视频| 韩国三级在线一区| 久久久777| 一本一本久久a久久精品牛牛影视| 久久综合五月| 激情久久五月天| 麻豆精品视频在线| 欧美在线播放视频| 国产一区二区欧美| 欧美在线一区二区| 欧美一区二区视频97| 黄色精品一二区| 亚洲福利视频专区| 欧美女同在线视频| 久久av一区二区三区亚洲| 久久蜜桃av一区精品变态类天堂| 日韩视频免费看| 亚洲伊人伊色伊影伊综合网| 在线观看91精品国产麻豆| 久久婷婷麻豆| 欧美伦理91i| 免费在线观看成人av| 亚洲人成亚洲人成在线观看| 亚洲精品综合久久中文字幕| 国产一区二区精品丝袜| 亚洲看片免费| 在线精品亚洲| 亚洲图片在线| 亚洲私拍自拍| 欧美日韩国产片| 欧美大片一区二区| 国产亚洲精品美女| 一区二区欧美在线观看| 亚洲精品久久视频| 蜜桃av一区二区| 欧美成人69| 狠狠色狠狠色综合人人| 欧美亚洲一区| 久久亚洲美女| 在线观看亚洲一区| 久久视频在线免费观看| 久久综合影视| 亚洲国产婷婷| 欧美日韩美女在线| 亚洲三级影片| 亚洲视频中文| 国产亚洲免费的视频看| 久久国产精品网站| 久久午夜视频| 亚洲私拍自拍| 黄色国产精品| 欧美人与禽猛交乱配视频| 亚洲图片欧洲图片av| 欧美一级视频免费在线观看| 精品福利av| 国产女主播一区二区| 久久人人爽国产| 91久久午夜| 久久蜜桃精品| 欧美日韩国产系列| 99精品国产在热久久| 久久久久久久一区| 99国产精品视频免费观看| 国产视频自拍一区| 免费日韩av| 99精品福利视频| 免费观看成人| 亚洲电影免费| 欧美成人69| 亚洲一区欧美二区| 你懂的成人av| 久久综合狠狠| 久热国产精品| 久久电影一区| 999在线观看精品免费不卡网站| 国产精品高清一区二区三区| 久热re这里精品视频在线6| 亚洲国产小视频| 久久免费视频网| 久久精品国产第一区二区三区| 亚洲精品极品| 亚洲国产日韩综合一区| 国产日本欧美视频| 欧美色欧美亚洲另类二区| 免费亚洲视频| 欧美freesex交免费视频| 亚久久调教视频| 亚洲欧美在线磁力| 一区二区三区欧美视频| 亚洲国产va精品久久久不卡综合| 欧美一乱一性一交一视频| 亚洲欧美在线一区二区| 亚洲主播在线| 欧美在线一区二区| 久久野战av| 欧美国产日本高清在线| 欧美日韩国产精品一区二区亚洲 | 欧美在线视频二区| 亚洲精品免费电影| 亚洲另类春色国产| 亚洲精品乱码久久久久久久久| 久久一区二区精品| 亚洲电影下载| 亚洲精品少妇网址| 亚洲欧美日韩中文在线制服| 欧美制服丝袜第一页| 欧美在线一二三| 欧美精品观看| 国产一区二区视频在线观看| 亚洲精品欧美极品| 亚洲欧美一区二区三区极速播放| 免费在线亚洲| 99精品视频免费观看视频| 亚洲欧美资源在线| 欧美激情中文不卡| 在线成人亚洲| 午夜精品999| 日韩视频免费观看高清完整版| 久久精品一二三区| 国内一区二区三区在线视频| 亚洲一区二区影院| 亚洲人成7777| 欧美视频手机在线| 亚洲人午夜精品免费| 亚洲国产成人在线播放| 麻豆精品在线播放| 亚洲人午夜精品| 亚洲国产成人91精品| 久久久天天操| 亚洲区中文字幕| 欧美成人精精品一区二区频| 免费观看久久久4p| 亚洲美女免费视频| 日韩一区二区免费看| 欧美成人69| 亚洲一级在线观看| 亚洲一区精品视频| 在线观看的日韩av| 亚洲国产日韩欧美在线动漫| 欧美华人在线视频| 一区二区三区福利| 亚洲乱码国产乱码精品精98午夜| 欧美 日韩 国产在线| 欧美日本不卡| 久久久精品性| 欧美日韩一区二区三区免费| 久久国产精品一区二区三区四区| 久久国产成人| 日韩视频在线一区| 欧美伊人影院| 99国产精品国产精品久久| 亚洲免费中文| 亚洲男人的天堂在线| 欧美成人免费在线观看| 亚洲影院免费| 欧美另类视频在线| 欧美成人在线网站| 国产欧美精品一区二区三区介绍| 免费观看成人鲁鲁鲁鲁鲁视频 | 午夜精品久久久久久99热| 久久久久久高潮国产精品视| 亚洲制服欧美中文字幕中文字幕| 老司机一区二区三区| 久久午夜激情| 亚洲第一区在线观看| 免费高清在线一区|