ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          注:而2路hunk則在"===="后加上1,2或3來指出引起不同的那個文件.

          $diff3 sigrot.2 sigrot.1 sigrot.3
          產(chǎn)生如下的輸出(在這里因為空間的原因?qū)敵鲎隽私財?:
            ====
            1:3c
              #Version 2.0
            2:3c
              #Version 1.0
            3:3c
              #Version 3.0
            ====1
            1:9,10c
              srcdir=$HOME/doc/signatures
              srcfile=$srcdir/$sigfile
            2:8a
            3:8a
            ====1
            1:12c
              old=$(cat $srcdir/num)
            2:10c
            3:10c
              old=$(cat num)
            ...
          第一個hunk是3路hunk,其他的都是2路hunk.從sigrot.1或sigrot.3中生成sigrot.2時,必須把從sigrot.2中來的下面兩行添加到sigrot.1或sigrot.3的第8行后:
            srcdir=$HOME/doc/signatures
            srcfile=$srcdir/$sigfile
          類似地,若要依據(jù)sigrot.2來生成sigrot.1,必須把sigrot.1的第10行改為sigrot.2中來的第12行.

          可以使用-m或--merge選項來告訴diff3對文件進行合并,然后再手工對結(jié)果排序:
          $diff3 -m sigrot.2 sigrot.1 sigrot.3 > sigrot.merged

          程序清單6.7 使用diff3合并選項產(chǎn)生的輸出
            #!/usr/local/bin/bash
            #sigrot.sh
            <<<<<<< sigrot.2
            #Version 2.0
            |||||||sigrot.1
            #Version 1.0
            =======
            #Version 3.0
            >>>>>>> sigrot.3
            #Rotate signatures
            #Suitable to be run via cron
            ############################

            sigfile=signature
            srcdir=$HOME/doc/signatures
            srcfile=$srcdir/$srcfile

            old=$(cat $srcdir/num)
            let new=$(expr $old+1)

            if [ -f $srcfile.$new ]; then
              cp $srcfile.$new $HOME/.$sigfile
              echo $new > $srcdir /num
            else
              cp $srcfile.1 $HOME/.$sigfile
              echo 1 > $srcdir /num
            fi

            return 0

          "<<<<<<<"標記對應(yīng)myfile,">>>>>>>"對應(yīng)yourfile,"|||||||"對應(yīng)oldfile.在本例中,只需要最新的版本號,為了成功合并3個版本,將刪除標記行和1.0及2.0版本指定的行.
          posted on 2005-08-04 17:19 ivaneeo 閱讀(354) 評論(0)  編輯  收藏 所屬分類: GNU牛力
          主站蜘蛛池模板: 湟源县| 静乐县| 武冈市| 洪洞县| 曲松县| 民县| 屏东县| 鄯善县| 乐清市| 松原市| 公安县| 平利县| 桐城市| 龙山县| 吉木萨尔县| 镇原县| 肃南| 万山特区| 浮山县| 盐池县| 顺平县| 温州市| 大化| 开远市| 襄城县| 南陵县| 兰溪市| 四子王旗| 亚东县| 老河口市| 连山| 黎川县| 河间市| 鹰潭市| 崇左市| 页游| 三亚市| 贡山| 宣化县| 黑河市| 灵宝市|