日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux常用文本比对命令——diff

發布時間:2023/12/31 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux常用文本比对命令——diff 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言

在windows環境下我們通常會選擇使用功能強大顯示友好的Beyond Compare工具來進行文件的比對。其實在Linux系統中就自帶了同樣的強大比對命令,可以讓我們在Linux系統下直接使用。diff命令用以比對兩個文件的不同,功能強大使用方便。diff命令是逐行進行比對,如果命令使用在目錄下,則可以比對兩個目錄中具有同名的文件。

二、語法以及參數

diff (-參數) (文件1/目錄1) (文件2/目錄2) -<行數>:指定要顯示多少行的文本。此參數必須與-c-u參數一并使用; -a或——text:diff預設只會逐行比較文本文件; -b--ignore-space-change:不檢查空格字符的不同; -B--ignore-blank-lines:不檢查空白行; -c:顯示全部內容,并標出不同之處; -C<行數>--context<行數>:與執行“-c-<行數>”指令相同; -d或——minimal:使用不同的演算法,以小的單位來做比較; -D<巨集名稱>或ifdef<巨集名稱>:此參數的輸出格式可用于前置處理器巨集; -e或——ed:此參數的輸出格式可用于ed的script文件; -f-forward-ed:輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處; -H--speed-large-files:比較大文件時,可加快速度; -l<字符或字符串>--ignore-matching-lines<字符或字符串>:若兩個文件在某幾行有所不同,而之際航同時都包含了選項中指定的字符或字符串,則不顯示這兩個文件的差異; -i--ignore-case:不檢查大小寫的不同; -l或——paginate:將結果交由pr程序來分頁; -n或——rcs:將比較結果以RCS的格式來顯示; -N--new-file:在比較目錄時,若文件A僅出現在某個目錄中,預設會顯示:Only in目錄,文件A 若使用-N參數,則diff會將文件A 與一個空白的文件比較; -p:若比較的文件為C語言的程序碼文件時,顯示差異所在的函數名稱; -P--unidirectional-new-file:與-N類似,但只有當第二個目錄包含了第一個目錄所沒有的文件時,才會將這個文件與空白的文件做比較; -q--brief:僅顯示有無差異,不顯示詳細的信息; -r或——recursive:比較子目錄中的文件; -s--report-identical-files:若沒有發現任何差異,仍然顯示信息; -S<文件>--starting-file<文件>:在比較目錄時,從指定的文件開始比較; -t--expand-tabs:在輸出時,將tab字符展開; -T--initial-tab:在每行前面加上tab字符以便對齊; -u-U<列數>--unified=<列數>:以合并的方式來顯示文件內容的不同; -v或——version:顯示版本信息; -w--ignore-all-space:忽略全部的空格字符; -W<寬度>--width<寬度>:在使用-y參數時,指定欄寬; -x<文件名或目錄>--exclude<文件名或目錄>:不比較選項中所指定的文件或目錄; -X<文件>--exclude-from<文件>;您可以將文件或目錄類型存成文本文件,然后在=<文件>中指定此文本文件; -y--side-by-side:以并列的方式顯示文件的異同之處; --help:顯示幫助; --left-column:在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容; --suppress-common-lines:在使用-y參數時,僅顯示不同之處。

三、常用實例

1、僅比對兩個文件是否相同

[roy@localhost Test]$ diff -q 1.txt 2.txt Files 1.txt and 2.txt differ

2、比對兩個目錄下所有文件是否相同

[roy@localhost Documents]$ diff -rqN ./Test ./Test1 Files ./Test/1.txt and ./Test1/1.txt differ Files ./Test/2.txt and ./Test1/2.txt differ

如果是很大的目錄,不同文件非常多,顯示查看不方便又或者得到記錄文件的話,使用重定向到日志中。

[roy@localhost Documents]$ diff -rqN ./Test ./Test1 > filelist.log

之后查看filelist.log文件就行了

3、比對兩個文件并顯示異常位置

[roy@localhost Test]$ diff -y 1.txt 2.txt a a b b c c d d e e f f g g h h j |h k |h l |h m |h n |h

“|”表示前后2個文件內容有不同
“<”表示后面文件比前面文件少了1行內容
“>”表示后面文件比前面文件多了1行內容

總結

以上是生活随笔為你收集整理的Linux常用文本比对命令——diff的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。