如何在 Linux 中使用 diff 命令比較兩個目錄中可用的檔案?
讓我們考慮一個案例,我們有兩個目錄,例如,d1 和 d2,這兩個目錄都包含一些檔案,這些檔案可能相同也可能不同。現在我們想要比較這兩個目錄中存在的檔案,透過比較,我們需要打印出哪些檔案不同,哪些檔案相同以及在哪個目錄中。
為了做到這一點,我們必須熟悉 diff 命令,因為 diff 命令可以用來解決上述問題。
讓我們首先探索 diff 命令,它是 difference 的縮寫。此命令用於查詢兩個檔案之間的差異,因為它逐行比較這兩個檔案。
讓我們探索一個案例,我們有兩個目錄 d1 和 d2,這兩個目錄都包含一些檔案。
考慮下面的終端輸出,它描繪了這兩個目錄:
immukul@192 linux-questions-code % ls -ltr total 0 drwxr-xr-x 5 immukul staff 160 Jul 5 20:03 d1 drwxr-xr-x 4 immukul staff 128 Jul 5 20:03 d2
現在第一個目錄 d1 的內容如下所示:
immukul@192 d1 % ls -ltr total 0 -rw-r--r-- 1 immukul staff 0 Jul 5 20:03 1.txt -rw-r--r-- 1 immukul staff 0 Jul 5 20:03 3.txt -rw-r--r-- 1 immukul staff 0 Jul 5 20:03 5.txt
現在第二個目錄 d2 的內容如下所示:
immukul@192 d2 % ls -ltr total 0 -rw-r--r-- 1 immukul staff 0 Jul 5 20:03 2.txt -rw-r--r-- 1 immukul staff 0 Jul 5 20:03 3.txt
現在我們想知道目錄 d1 和 d2 之間的差異,為了列印差異,我們可以使用以下命令:
diff -q d1 d2 | cut -f2 -d ','
輸出
Only in d1: 1.txt Only in d2: 2.txt Only in d1: 5.txt
我們還可以使用的另一個命令如下所示:
diff -qr d1 d2
輸出
Only in d1: 1.txt Only in d2: 2.txt Only in d1: 5.txt
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP