diff命令
diff命令
diff命令能夠比較給定的兩個文件的不同,如果使用-代替文件參數,則要比較的內容將來自標準輸入,diff命令是以逐行的方式比較文本文件的異同處,如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同文件名的文件,而不會對其子目錄文件進行任何比較操作。
語法
diff [-abBcdefHilnNpPqrstTuvwy][-<line>][-C <line>][-D <macro>][-I <string>][-S <file>][-W <width>][-x <file or folder>][-X <file>][--help][--left-column][--suppress-common-line][file or folder][file or folder]
參數
-a或--text: diff預設只會逐行比較文本文件。
-b或--ignore-space-change: 不檢查空格字符的不同。
-B或--ignore-blank-lines: 不檢查空白行。
-c: 顯示全部內容,并標出不同之處。
-C <line>或--context <line>: 與執行-c-<line>指令相同。
-d或--minimal: 使用不同的演算法,以小的單位來做比較。
-D <macro>或ifdef <macro>: 此參數的輸出格式可用于前置處理器巨集。
-e或--ed: 此參數的輸出格式可用于ed的script文件。
-f或-forward-ed: 輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處。
-H或--speed-large-files: 比較大文件時,可加快速度。
-l<string>或--ignore-matching-lines<string>: 若兩個文件在某幾行有所不同,而這幾行同時都包含了選項中指定的字符或字符串,則不顯示這兩個文件的差異。
-i或--ignore-case: 不檢查大小寫的不同。
-l或--paginate: 將結果交由pr程序來分頁。
-n或--rcs: 將比較結果以RCS的格式來顯示。
-N或--new-file: 在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示Only in <folder>,文件A若使用-N參數,則diff會將文件A與一個空白的文件比較。
-p: 若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱。
-P或--unidirectional-new-file: 與-N類似,但只有當第二個目錄包含了第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較。
-q或--brief: 僅顯示有無差異,不顯示詳細的信息。
-r或--recursive: 比較子目錄中的文件。
-s或--report-identical-files: 若沒有發現任何差異,仍然顯示信息。
-S <file>或--starting-file <file>: 在比較目錄時,從指定的文件開始比較。
-t或--expand-tabs: 在輸出時,將tab字符展開。
-T或--initial-tab: 在每行前面加上tab字符以便對齊。
-u,-U <columns>或--unified=<columns>: 以合并的方式來顯示文件內容的不同。
-v或--version: 顯示版本信息。
-w或--ignore-all-space: 忽略全部的空格字符。
-W <width>或--width <width>: 在使用-y參數時,指定欄寬。
-x <file or folder>或--exclude <file or folder>: 不比較選項中所指定的文件或目錄。
-X<file>或--exclude-from<file>: 您可以將文件或目錄類型存成文本文件,然后在<file>中指定此文本文件。
-y或--side-by-side: 以并列的方式顯示文件的異同之處。
--help: 顯示幫助。
--left-column: 在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容。
--suppress-common-lines: 在使用-y參數時,僅顯示不同之處。
示例
比較file.txt與file2.txt文件的差異,僅輸出不同之處。
diff file.txt file2.txt
比較file.txt與file2.txt文件的差異,并排輸出全部內容,|表示前后2個文件內容有不同,<表示后面文件比前面文件少了1行內容,>表示后面文件比前面文件多了1行內容。
diff -y file.txt file2.txt
比較file.txt與自定義輸入內容的差異,輸入內容后按Ctrl+D輸出EOF標識后結束輸入。
diff -y file.txt -
每日一題
https://github.com/WindrunnerMax/EveryDay
參考
https://man.linuxde.net/diff
https://www.cnblogs.com/wf-linux/p/9488257.html
https://www.runoob.com/linux/linux-comm-diff.html
總結
- 上一篇: ubuntu20.04 域名解析暂时失败
- 下一篇: 为什么申请信用卡要交社保 社保助你轻松下