如何在 Linux 中使用 diff 命令比較兩個目錄中可用的檔案?


讓我們考慮一個案例,我們有兩個目錄,例如,d1d2,這兩個目錄都包含一些檔案,這些檔案可能相同也可能不同。現在我們想要比較這兩個目錄中存在的檔案,透過比較,我們需要打印出哪些檔案不同,哪些檔案相同以及在哪個目錄中。

為了做到這一點,我們必須熟悉 diff 命令,因為 diff 命令可以用來解決上述問題。

讓我們首先探索 diff 命令,它是 difference 的縮寫。此命令用於查詢兩個檔案之間的差異,因為它逐行比較這兩個檔案。

讓我們探索一個案例,我們有兩個目錄 d1d2,這兩個目錄都包含一些檔案。

考慮下面的終端輸出,它描繪了這兩個目錄:

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

更新於: 2021-07-29

862 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.