複製鏈接
請複製以下鏈接發送給好友

diff3

鎖定
diff3 是Linux命令,用來比較三個文件。
外文名
diff3
類    型
Linux命令
作    用
不同文本的範圍寫到標準輸出

目錄

diff3簡介

diff3 是Linux命令

diff3用途

比較三個文件。

diff3語法

diff3 [ -e | -x | -E | -X | -3 ] File1 File2 File3

diff3描述

diff3 命令比較三個文件,並將不同文本的範圍寫到標準輸出,以下列代碼為標記:
==== 三個文件都不同。
====1 File1 不同。
====2 File2 不同。
====3 File3 不同。
需要用以將給定文件的指定範圍轉換以匹配另一文件的更改類型,在輸出中由下列 2 種方式之一指明:
File:Number1 a 文本添加到 File 中的行號 Number1 後,其中 File 可以是 1、2 或 3。
File:Number1[,Number2]c 第 Number1 行與第 Number2 行之間的文本將被更改。如果 Number1 同 Number2 相等,範圍減縮為第 Number1 行。
相應範圍的內容在 c 指示之後。當兩文件內容相同時,命令 diff3 不顯示較小編號文件的內容,雖然它顯示相同行的位置。
注: -e 標誌所產生的編輯腳本無法創建由 a 組成的行。

diff3標誌

-3 建立只合並標誌為 ====3 的修改的編輯腳本。
-E, -X 這些分別類似於 -e 和 -x 標誌,但是對重疊修改(就是在正常列表中被標記為 ==== 的修改處)的處理不同。兩文件的重疊行被編輯腳本插入,並由<<<<<< 和 >>>>>> 行括起來。-E 選項用於修訂控件系統(RCS)合併,使得合併文件中的重疊修改受到保留並引起注意。
-e 建立和 ed 命令一起使用的編輯腳本,把所有修改合併到 File1,即 File2 和 File3 之間的修改(就是正常情況下標記為 ==== 和 ====3 的修改處)。
-x 建立只合並標記為 ==== 的修改的編輯腳本。

diff3示例

列舉三個文件的不同處:
diff3 fruit.a fruit.b fruit.c
如果文件 fruit.a、fruit.b 和 fruit.c 包含以下數據:
fruit.a fruit.b fruit.c
banana apple grape
grape banana grapefruit
kiwi grapefruit kiwi
lemon kiwi lemon
mango orange mango
orange peach orange
peach pear peach
pare
然後 diff3 命令的輸出顯示了這些文件的差異,如下所示。(右邊的註釋不會出現在輸出中。)
==== 3 個文件都不同。1:1,2c 第一個文件 fruit.a 的 1、2 行
banana
grape
2:1,3c fruit.b 的第 1 到 3 行
apple
banana
grapefruit
3:1,2c 文件 fruit.c 的第 1、2 行
grape
grapefruit
====2 第 2 個文件 fruit.b 的不同處。
1:4,5c 文件 fruit.a 和 fruit.c 第 4、5 行相同。
2:4a 為使文件 fruit.b 看起來相同,在第 4 行後添加。
3:4,5c
lemon
mango
==== 第一個文件 fruit.a 的不同處。1:8c
pare
2:7c fruit.b 的第 7 行和 fruit.c 的第 8 行相同
pear
3:7a
文件
/usr/bin/diff3 指示 diff3 命令。
/usr/lbin/diff3prog 被 diff3 shell 腳本調用。