僅針對特定型別檔案的 Linux 目錄差異比較
本文將學習如何在 Linux 中僅對特定型別的檔案進行目錄差異比較。
摘要
在 Linux 中,一個常用的操作是比較檔案並識別其差異。這在比較複雜的程式碼或配置檔案時非常有用。Linux 有一個強大的內建工具稱為 **diff**,用於比較目錄,它沒有錯誤並且節省時間。
以下是一些示例,將幫助我們學習如何應用這些有趣且靈活的命令:
diff 命令
使用 diff 命令,我們可以逐行比較兩個檔案的內容,如果存在任何差異,它將列出差異以及對應的行號。此外,它還可用於對比兩個目錄的內容。
在 shell 指令碼中,當我們希望根據兩個檔案的比較執行操作時,diff 命令至關重要。為了快速比較兩個目錄,我們將使用以下示例中的 diff 命令:
示例
$ diff dev home
輸出
Only in home: cg Only in dev: core Only in dev: fd Only in dev: full Only in dev: mqueue Only in dev: null Only in home: objc Only in dev: ptmx Only in dev: pts Only in dev: random Only in home: redxx Only in dev: shm Only in dev: stderr Only in dev: stdin Only in dev: stdout Only in dev: tty Only in dev: urandom Only in dev: zero
從輸出中可以看出,上面列出了兩個目錄的內容,並顯示了它們的不同之處。
在另一個示例中,我們將看到如何使用 diff 命令的不同變體。在這裡,我們將使用“-y”以側面檢視的形式獲取資訊,這將更好地檢視和理解差異:
示例
$ diff -y tclConfig.sh tclooConfig.sh
輸出
TCL_MAJOR_VERSION='8' | TCLOO_LIB_SPEC="7" TCL_MINOR_VERSION='6' | TCLOO_STUB_LIB_SPEC="4" TCL_PATCH_LEVEL='.8' | TCLOO_INCLUDE_SPEC="6" TCL_VERSION='8.6' | TCLOO_PRIVATE_INCLUDE="1"
這是另一個示例,展示瞭如何使用 diff 命令的不同變體。在這裡,我們將使用“-u”來顯示沒有額外上下文行的輸出,這將提供有關差異的具體資訊:
示例
$ diff -u file1.sh file2.sh
輸出
––– file1.sh 2019-05-11 15:50:49.000000000 +0000 +++ file2.sh 2019-05-11 15:50:43.000000000 +0000 @@ -1 3, +1 5 It will create shell variables This script is intended to be included The information in this file is specific +These are mostly empty +All libraries and include files are just part of Tcl
在輸出中,我們可以清楚地注意到上一步輸出中兩個檔案的差異。正如我們所知,file2 在結尾處有兩行多餘的行。這些行在輸出中以其前面帶有加號 (+) 來突出顯示。由於 file1 在上面的命令中位於 file2 之前,因此 diff 命令是從 file1 的角度比較檔案的。
結論
在本文中,我們學習了 diff 命令的用例。首先,我們看到了 diff 命令的實際用途,即如何使用它來區分兩個目錄。
這些是 diff 命令在 Linux 中使用的場景。我希望您發現這些命令示例有用,並且學習和使用 Linux 很容易。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP