diff [選項(xiàng)] … [文件1或目錄1] [文件2或目錄2](四種組合方式)
說明:diff命令在最簡單的情況下,比較兩個文件的不同。如果使用”-”代替文件參數(shù),則要比較的內(nèi)容將來自標(biāo)準(zhǔn)輸入。Diff命令是以逐行的方式比較文本文件的異同之處。如果指定比較的是目錄的時候,diff命令會比較兩個目錄下名字相同的文本文件,但不會比較其中子目錄。列出不同的二進(jìn)制文件、公共子目錄和只在一個目錄出現(xiàn)的文件
(1).選項(xiàng)
-a,--text 把所有文件當(dāng)做文本文件逐行比較
-b,--ignore-space-change 忽略空格產(chǎn)生的變化
-B,--ignore-blank-lines 忽略空白行的變化
-c,–C NUM,--context[=NUM] 使用上下文輸出格式(文件1在上,文件2在下,在差異點(diǎn)會標(biāo)注出來),輸出NUM(默認(rèn)3)行的上下文(上下各NUM行,不包括差異行)
-d,--minimal 使用不同的算法,努力尋找一個較小的變化集合。這會使diff變慢(有時更慢)
-D NAME,--ifdef=NAME 合并if-then-else格式輸出,預(yù)處理宏(由NAME參數(shù)提供)條件
-e,--ed 輸出一個ed格式的腳本文件
-E,--ignore-all-space 忽略由于Tab擴(kuò)展而導(dǎo)致的變化
-F RE,--show-function-line=RE 在上下文輸出格式(文件1在上,文件2在下)和統(tǒng)一輸出格式中,對于每一大塊的不同,顯示出匹配RE(regexp正則表達(dá)式)最近的行
-i,--ignore-case 忽略大小寫的區(qū)別
默認(rèn)情況下,正則表達(dá)式 ^ 和 $ 忽略行結(jié)束符,僅分別與整個輸入序列的開頭和結(jié)尾匹配。2)、raw字符串的使用:如果要匹配一個.,*這種元字符,就需要加'\'進(jìn)行轉(zhuǎn)義,即要表示一個'\',正則表達(dá)式需要多加一個轉(zhuǎn)義,寫成'\\'linux命令,但是python字符串又需要對其轉(zhuǎn)義,最終變成re.compile('\\\\'),這樣就不易理解且很亂,使用raw字符串讓正則表達(dá)式變得易讀,即寫成re.compile(r'\\'),另一個方法就是將字符放到字符集中,即[\],效果相同。語法規(guī)則:selector(response=response查詢對象).xpath('//li[re:test(@class, "item-\d*")]//@href').extract()linux命令,即根據(jù)re正則匹配,test即匹配,屬性名是class,匹配的正則表達(dá)式是"item-\d*",然后獲取該標(biāo)簽的href屬性。
-l,--paginate通過pr編碼傳遞輸出,使其分頁
-n,--rcs 輸出RCS格式差異
-N,--new-file把缺少的文件當(dāng)做空白文件處理
-p,--show-c-function顯示帶有C函數(shù)的變化
-q,--brief 僅輸出文件是否有差異,不報告詳細(xì)差異
-r,--recursive當(dāng)比較目錄時,遞歸比較所有找到的子目錄
-s,--report-identical-files當(dāng)兩個文件相同時報告
-SFILE,--starting-file=FILE 在比較目錄時,從FILE開始。用于繼續(xù)中斷的比較
-t,--expand-tabs將輸出時擴(kuò)展Tab轉(zhuǎn)換為空格,保護(hù)輸入文件的tab對齊方式
-T,--initial-tab通過預(yù)先設(shè)置的tab使選項(xiàng)卡對齊(???)
-u,-UNUM,--unified[=NUM] 使用統(tǒng)一輸出格式(輸出一個整體,只有在差異的地方會輸出差異點(diǎn),并標(biāo)注出來),輸出NUM(默認(rèn)3)行的上下文(上下各NUM行,不包括差異行)