diff

diff

Linux中的比較文本文件命令
diff以逐行的方式,比較文本文件的異同處。[1]diff 命令隻有當輸入為文本文件時才有效。如果指定了 Directory1 和 Directory2 參數,diff 命令比較兩個目錄下名字相同的文本文件。列出不同的二進制文件、公共子目錄和隻在一個目錄出現的文件。diff命令用于比較兩個文件的差異,它可以被制作成補丁文件,使用patch命令對相應的文件打補丁。
    中文名: 外文名:diff 定義: 用途語法:比較兩個文件的内容 描述:diff 命令比較文本文件 标志:将每行末尾當作單個新行标記處理 diff命令:隻有當輸入為文本文件時才有效

Linux

用途語法

比較文本文件。

比較兩個文件的内容

diff [ -c | -C Lines | -D [ String ] | -e | -f | -n ] [ -b ] [ -i] [ -t ] File 1 File2

diff [ -h ] [ -b ] File 1 File2

排序字典的内容并比較不同的文件

diff [ -c | -C Lines | -e | -f | -n ] [ -b ] [ -i ] [ -l ] [ -r ] [ -s ] [ -S File ] [ -t ] [ -w ] Directory1 Directory2

diff [ -h ] [ -b ] Directory1 Directory2

描述

diff 命令比較文本文件。它能比較單個文件或者目錄内容。

注:diff 命令隻有當輸入為文本文件時才有效。

如果指定了 Directory1 和 Directory2 參數,diff 命令比較兩個目錄下名字相同的文本文件。列出不同的二進制文件、公共子目錄和隻在一個目錄出現的文件。

當 diff 命令運行于常規文件時,且當目錄比較期間比較不同的文本文件時,diff 命令顯示文件中哪些行必須更改以保持它們一緻。如果 File1 和 File2 參數都不是目錄,其中之一可能給定負号“-”,以采用标準輸入。如果 File1 參數是目錄,則使用目錄中與 File2 參數指定的文件名一緻的那個文件。

典型輸出

Lines Affected in File1 Action Lines Affected in File2

Number1 a Number2[,Number3]

Number1[,Number2] d Number3

Number1[,Number2] c Number3[,Number4]

這些行類似于 ed 子命令将 File1 文件轉換成 File2 文件。Action 字母之前的數字指 File1;後面的數字則指 File2。因此,通過将 a 替換成 d,從右往左讀,您就能知道如何将 File2 轉換成 File1。在 ed 命令下,相同的對(即 Number1 = Number2)會簡略為單個數字。

下列每一行,diff 命令顯示以 <:(小于符号,冒号)開始的第一個文件中的所有受影響行,然後顯示以 >(大于符号)開始的第二個文件中的所有受影響行。

退出值 0 表示沒有不同,1 表示找到不同處,2 表示出錯。

注:如果指定了多于一個的 -c、-C、-D、-e、-f 或者 -n 标志,命令行上的最後一個具有優先權。系統不發出錯誤消息。

标志

-b 将每行末尾當作單個新行标記處理(忽略新行字符前的空格字符)的任意數量空格字符與其他空格字符串(除了新行标記)同樣地比較。

-C Lines 啟動 diff 命令,但隻比較 Lines 變量指定的行數。-C 标志稍微修改輸出。輸出以文件的相同部分和創建日期開始。每個更改以 12 個 *(星号)組成的行分隔。從 File1 中要删的行以 -(減号)标記,File2 中要添加的行以 +(加号)标記。從一個文件更改到另一個文件的行在兩個文件中都以 !(驚歎号)标記。在每一個文件的指定上下文行中的更改會被整組一起輸出。

-c 啟動 diff 命令,比較三行上下文。-c 标志稍微修改輸出。輸出以涉及文件的标識和它們的創建日期開始。每個更改以 12 個 *(星号)組成的行分隔。File1 中要删的行以 -(減号)标記,要被添加到 File2 的行以 + (加号)标記。從一個文件更改到另一個文件的行在兩個文件中都以 !(驚歎号)标記。在每一個文件的指定上下文行中的更改會被整組一起輸出。

-D [ String ] 使得 diff 命令在标準輸出上建立一個 File1 和 File2 的合并版本。包含了 C 預處理器控件以便沒有定義 String 的結果編譯等同于編譯 File1,同時定義 String 産生 File2。

-e 以适合 ed 編輯器的格式進行輸出,将 File1 轉換成 File2。當使用這個标志時,以下 shell 程序可以幫助維護一個文件的多個版本。手頭僅需要由 diff 命令生成的一個祖先文件($1)和一系列版本的 ed 腳本($2、$3、...)。标準輸出上的最近版本如下:

(shift; cat $*; echo '1,$p') | ed - $1

當使用 -e 标志比較目錄時,輸出上添加了額外的命令,因此,結果是一個 shell 腳本,将兩個目錄上的共有文本文件從 Directory1 上的狀态轉換到 Directory2 上的狀态。

注:由 -e 或 -f 标志産生的編輯腳本無法創建由單個組成的行。(周期)。

-f 以不适合 ed 編輯器的格式創建輸出,按照在 -e 标志下産生的逆向順序顯示從 File1 到 File2 的轉換的必要修改。

-h 如果要更改的部分比較短而且分隔清晰,則執行備用的比較可能會更快。-h 标志可用于任意長度的文件。-c、-C、-D、-e、-f 和 -n 标志無法與 -h 标志一起使用。當使用 -h 标志時,除了 -b 标志,其他标志一律忽略。

-i 忽略字母大小寫。例如,小寫 a 被認為同大寫 A 一樣。

-l 長輸出格式。每個由文本文件比較 diff 命令獲得的結果通過命令 pr 輸送分頁。在報告所有文本文件不同之處後,其他不同之處将被記憶和總結。

-n 産生類似于 -e 标志創建的輸出,但是順序相反,而且在每一插入或删除命令上進行更改計數。這是修訂控件系統(RCS)所用的格式。

-r 使 diff 命令的應用程序遞歸到遇到的公共子目錄。

-s 報告相同的文件,否則不提。

-S [ File ] 當比較目錄時,忽略在 File 變量指定的文件之前整理名稱的文件。-S 标志隻用于 Directory1 和 Directory2 參數指定的目錄。如果您将 -r 标志與 -S 标志一起使用, -S 标志在 Directory1 和 Directory2 子目錄中不進行遞歸。

-t 在輸出行擴展制表符。典型輸出或者 -c 标志輸出會添加字符到每一行首,這會影響初始行的縮進,使得輸出列表難以解釋。該标志則保留原始源的縮進。

-w 忽略所有空格和制表符,将所有其他空白字符串視為一緻。例如,if ( a == b ) 與 if(a==b) 相等。

退出狀态

此命令返回下列退出值:

0 未找到不同處。

1 找到不同處。

>1 發生錯誤。

示例

1. 要比較兩個文件,請輸入:

diff chap1.back chap1

隻顯示文件 chap1.bak 和 chap1 的不同之處。

2. 要比較兩個文件,但是忽略空格字符個數的區别,請輸入:

diff -w prog.c.bak prog.c

如果兩行僅僅空格和制表符數目不同,則 diff -w 目錄認為它們相等。

3. 要創建一個包含 ed 命令可以用于從另一個文件重構文件的命令的文件,請輸入:

diff -e chap2 chap2.old >new.to.old.ed

這将創建一個名為 new.to.old.ed 的文件,它包含 ed 子命令,把 chap2 轉換回在 chap2.old 中找到的文本版本。在大多數情況下,new.to.old.ed 比 chap2.old 要小很多。您可以通過删除 chap2.old 以節省磁盤空間,您也可以在任何時候重建它,通過輸入:

(cat new.to.old.ed ; echo '1,$p') | ed - chap2 >chap2.old

括号中的命令把 1,$p 添加到編輯命令的末尾,發送給 ed 編輯器。1,$p 使得 ed 命令在編輯完成後将文件寫到标準輸出。這一修改的命令序列然後從管道傳給 ed 命令(| ed),編輯器讀取它作為标準輸入。- 标志使 ed 命令不顯示文件大小以及其他附加信息因為它們易與 chap2.old 的文本混肴。

文件

/usr/bin/diff 包含 diff 命令。

使用

1) diff/patch這對工具在數學上來說,diff是對2個集合求差,patch是求和

diff A B > C 生成A和B的diff文件C

patch A C 給A打上diff文件得到B

patch -R B C B還原為A

2) 内核補丁

生成

diff -uNr linux-2.6.xxx linux-2.6.xxx.1 > diff.patch

升級

cp diff.patch linux-2.6.xxx/.

cd linux-2.6.xxx

patch -p1 < diff.patch

DIFF線

DIFF線收盤價短期、長期指數平滑移動平均線間的差

DEA線 DIFF線的M日指數平滑移動平均線

MACD線DIFF線與DEA線的差,彩色柱狀線

參數:SHORT(短期)、LONG(長期)、M 天數,一般為12、26、9

用法:

1.DIFF向上突破DEA,買入信号。

2.DIFF向下跌破DEA,賣出信号。

3.DEA線與K線發生背離,行情反轉信号。

4.分析MACD柱狀線,由紅變綠(正變負),賣出信号;由綠變紅,買入信号

以上隻是基本知識,具體内容很複雜,該指标要與K線系統,成交量系統配合看.它即使獨立看,也是很有講究的,金叉,死叉有零上與零下之分,前後有背離之分,紅柱樁與黃白線的關系,綠柱樁與黃白線的關系,黃白線在柱樁裡運行和柱樁外運行,也是有學問的.山包與山包的關系,大山包與小山包的關系,月線,周線,日線,分時線的看盤方法也是不同的.

另外我要強調的是MACD在各種指标中,是最好的指标,非常複雜,非常豐富,但又非常管用.也就是說在錢龍一出現就排在第一的道理.

移動平均線PMA是量的一種表現形式.比如指數的三日移動平均線,首先取得連

續三日的三個指數,計算其平均值A,然後後移.去掉最先一個指數,增加新一日一個

指數,再計算三個指數的平均值B.如此移動計算,得到一條三日移動平均線。同理,可

得五日,六日,十日,十三日,三十日,七十日,二百日等移動平均線。移動平均線由樣本

數的多少決定了移動變化的急緩。樣本數少,變化較急,稱為快速線,因此多作為短線

指标。樣本數多,變化較緩,稱為慢速線,在樣本數适當多的時候,多作為中線或長線

指标,重要的是, 因為移動平均線是由一定樣本的集合的連續移動計算産生,所以

它的移動方向和速度代表了該集合的整體态勢。這一點,正是人們所要利用的。

1、移動平均線向上或向下,都表示了趨勢的方向,所以一般而言,PMA由下轉

上為買入信号,PMA由上轉下為賣出信号。但PMA日數N的選擇往往決定

了你的買賣是否成功及成效的大小。這是因為,對單條PMA而言,快速線

反映敏感卻顯浮躁, 慢速線反映沉實卻顯呆滞。

然而N的選擇終歸是沒有定論的,不過卻有一條原則,即:選擇N使得PMA逼

近所分析品種的短期,中期和長期的循環周期.這是要具體分析才能确定的。

如果從某一數學模型來考慮,則是應用費波南茨級數3,5,8,13,

21,34, 55, 來确定PMA的N值。

2、當PMA在指數上方時,PMA是指數的壓力線;當PMA 在指數的下方時,

PMA是指數的支持線。一般而言,指數向下跌破PMA為賣出信号,指數向

上升穿PMA為買入信号。

3、美國的專家葛藍碧為此提出八大買賣法則(PMA=200日PMA,)如下:

(1) 買入信号1:PMA下降後出現平盤或回升移動,當價格突破PMA壓力上

升為重要的買入信号。

(2) 買入信号2:PMA仍然上升,但價格卻跌穿PMA的支持線,當價格又向

上時為買入信号。

(3) 買入信号3:價格下跌,但獲PMA良好支持後回升時為買入信号。

(4) 買入信号4:價格在高位跌破了PMA支持線,引發了急速下跌,短期内

價格仍有向PMA回歸的要求,當價格開始向 PMA 回歸反彈時為買入信

号。

(5) 賣出信号1:市勢逆轉,價格跌破PMA支持線時為重要的賣出信号。

(6) 賣出信号2:PMA已處在下降過程中,價格向PMA的回歸反彈上穿PMA

壓力線,當價格複向下時為賣出信号。

(7) 賣出信号3:價格再次向PMA回歸反彈,但被PMA有效壓制後下跌為賣

出信号。

(8) 賣出信号4:價格在低位升穿了PMA壓力線,引發了急速上升,短期内

價格仍有向PMA回歸的要求,當價格開始向PMA回歸整理時為賣出信号。

相關詞條

相關搜索

其它詞條