Linux diff命令詳解

     Linux中比較文件或者文件夾差異,經常用到diff命令,先解釋如下。

         用法:diff [選項]... FILES

         功能:逐行比較文件。

         常用選項說明:

      -i  --ignore-case  忽略文件內容大小寫的區別。
      --ignore-file-name-case  忽略文件名大小寫的區別。
      --no-ignore-file-name-case  不忽略文件名大小寫的區別。
      -E  --ignore-tab-expansion  忽略由製表符寬度造成的差異。
      -b  --ignore-space-change  忽略由空格數不同造成的差異。
      -w  --ignore-all-space   忽略所有空格。
      -B  --ignore-blank-lines  忽略任何因空行而造成的差異。
      -I RE  --ignore-matching-lines=RE  如果某行匹配正則表達式,則忽略由該行造成的差異。
      --strip-trailing-cr  去除輸入內容每行末端的 carriage return 字符。
      -a  --text  所有文件都以文本方式處理。
      -c  -C 行數  --context[=行數]  顯示指定<行數>(默認 3 行)copied 格式的上下文
      -u  -U 行數  --unified[=行數]  顯示指定<行數>(默認 3 行)unified 格式的上下文
         --label 標識                       使用<標識>代替文件名稱。
         -p  --show-c-function           顯示和每個差異有關的 C 函數名稱。
         -F RE  --show-function-line=RE  顯示最接近而符合<正則表示式>的一行。
      -q  --brief  只顯示文件是否不同。
      -e  --ed 以 ed script 方式輸出。
      --normal 以正常的 diff 方式輸出。
      -n  --rcs  以 RCS diff 格式輸出。
      -y  --side-by-side         以兩列並排的方式顯示。
        -W NUM  --width=NUM      每行顯示最多 NUM (默認 130) 個字符。
        --left-column            當有兩行相同時只顯示左邊的一行。
        --suppress-common-lines  當有兩行相同時不會顯示。
      -D NAME  --ifdef=NAME  輸出的內容以‘#ifdef NAME’方式標明差異。
      -l  --paginate 將輸出送至‘pr’指令來分頁。
      -t  --expand-tabs  將輸出中的 tab 轉換成空格。
      -T  --initial-tab  每行先加上 tab 字符,使 tab 字符可以對齊。
      --tabsize=NUM  定位字符 (tab) 的寬度,默認爲 8 個空格寬。
      --suppress-blank-empty  Suppress space or tab before empty output lines.

      -r  --recursive  連同所有子目錄一起比較。
      -N  --new-file  不存在的文件以空文件方式處理。
      --unidirectional-new-file  若第一文件案不存在,以空文件處理。
      -s  --report-identical-files   當兩個一樣時仍然顯示結果。
      -x PAT  --exclude=PAT  排除匹配 PAT 的文件。
      -X FILE  --exclude-from=FILE   排除所有匹配在 FILE 中列出的模式的文件。
      -S FILE  --starting-file=FILE  當比較目錄時,由 FILE 開始比較。
      --from-file=FILE1  將 FILE1 和操作數中的所有文件/目錄作比較。FILE1 可以是目錄。
      --to-file=FILE2    將操作數中的所有文件/目錄和 FILE2 作比較。FILE2 可以是目錄。

      --horizon-lines=NUM      (此選項不做處理)
      -d  --minimal  儘可能找出最小的差異。
      --speed-large-files     假設文件十分大而且其中含有許多微小的差異。

      -v  --version  輸出版本信息。
      --help  輸入本幫助。

      FILES 的格式可以是‘FILE1 FILE2’、‘DIR1 DIR2’、‘DIR FILE...’或
          ‘FILE... DIR’。
      如果使用 --from-file 或 --to-file 選項,FILES 的格式則不受限制。
      如果 FILE 是‘-’,則由標準輸入讀取內容。
      如果輸入相同,則退出狀態爲 0;1 表示輸入不同;2 表示有錯誤產生。
      用於文件夾或者文件比較時經常用到的參數:-i/-N/-q/-r/-w/-B/-b/-u/-y/--suppress-common-lines等,同時結合“>”重定向和grep等命令過濾、保存比較結果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章