Linux檔案比較指令用來比較兩個檔案內容的差異。主要有comm指令和diff指令。如果想對兩個有序的檔案進行比較,可以使用comm指令。如果要逐行比較兩個文字文件,列出其差異可以使用diff指令。
使用common指令比較:
comm指令是一個非常簡潔的指令,只有兩個參數。不過三個參數也結常要組合使用,我們常用的用法如下:
comm - 12 就只顯示在兩個文件中都存在的行;
comm - 23 只顯示在第一個文件中出現而未在第二個文件中出現的行;
comm找出文件2中有,文件1中沒有的行:
comm -23 2 .txt 1.txt
註:兩個檔案的內容在比較前,一定要進行sort排序。不然輸出的結果會是錯誤的。
diff指令比較:
diff指令是比較經典的文字比較工具了,diff指令較comm的參數要多。其經常和patch命令組合使用,進行補丁升級。其預設使用的是-a參數,即逐行比較兩個檔案之間的不同。此處我們要實現想要得到的結果,還需要配合grep和awk實用:
diff 2.txt 1.txt |grep "<"|awk ' $1 = " " '
#註:這裡也發現,在使用diff指令進行比較時,也需要預先對經比較的檔案進行sort排序,不然輸出的結果同樣是不正確的。
推薦學習影片教學:linux影片教學
#以上是linux比較文件不同的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!