作為命令語法
compare path1{|offset1} path2{|offset2} {-control_args}
作為函式語法
[compare path1{|offset1} path2{|offset2} {-control=args}]
功能
比較兩份檔案(段、多段或存檔組成部分)並且列出它們的不同。比較是逐字檢查(word-by-word check)並且可以由一個mask製造,因此只有每個
字(word)指定的部分會被比較。如果被比較的部分是一致的,函式返回
true,其它情況返回
false。
變數
path1和path2是要比較的檔案的路徑。path2被允許相同的習慣(equal convention)。也可以是一個存檔組成部分路徑(archive component pathname)。
offset1和offset2是包含在檔案中的八進制offsets,如果它們是段或存檔組成部分。如果您省略了它們,整個內容都會被比較。比較從指定的字開始,如果您沒有指定offset則是從段的第一個字開始。
控制變數
-brief或-bf只列印有差別的每個塊(block)的第一個字和最後一個字長度上等於多於4個字(參看“注意”)。
-inhibit_error或-ihe導致功能返回“false”而不是提供一個錯誤,如果一份被比較的檔案不存在。如果兩份檔案都不存在,一個錯誤仍然會發生。
-length N, 或-In N使得比較在不超過N(八進制)個字繼續。
-long或-lg列印所有不相同的字(參看“注意”)。(默認)
-mask N在比較中使用八進制mask N。如果N少於12個八進制位,它會的左邊會補零。
-no_inhibit_error或-nihe避免-inhibit_error影響。
-short或-sh為每個不同的塊列印一條單一行。
120 words at: 1631
1100 words at: 33404
(參看“注意”)
-totals或-tt為整個比較列印一行:
17 differences, 3140 words total.
注意
要被比較的最大字數(The maximum number of words)是第一個段的字統計(word count)減去它的offset或第二個段的字統計減去它的offset,取決於哪個更大。如果您提供了-length,比較會在指定數目的字後停止。如果段的長度不相等,較長的段中剩餘的字會被作為不同而列印出來。一個段的字統計通過位統計(bit count)加35除以36計算出來。如果字統計減去offset是少於0,一個錯誤信息會被列印出來,並且命令會中止。任何通過命令找到的有差別的部分會以以下格式列出:
offset contents offset contents
4 404000000002 4000777000023
6 404000000023 6677774300100
要比較兩個只包含ASCII字元串數據的段(segment) ,使用compare_ascii命令。