如何僅在 fdupes 中查看不符的檔案?

如何僅在 fdupes 中查看不符的檔案?

我了解 fdupes 在比較兩個目錄時如何找到和顯示重複文件,我想知道的是如何做相反的事情,即顯示任何和全部輸出中的匹配文件 fdupes 可以做到這一點,或者是否有其他程式可以做得更好? (ps 我需要以與 fdupes 相同的方式進行比較,無論是使用 md5 和,還是使用檔案之間的位元比較)

答案1

我一直在考慮添加這個選項林特有一段時間(但直到現在還沒有人提出要求)。我創建了一個測試分支,現在有這個選項(https://github.com/SeeSpotRun/rmlint/tree/feature/uniques)。

如果您想嘗試一下,您需要安裝如下:


  1. 如果您還沒有依賴項,請安裝它們:
$ sudo apt-get install git scons python3-sphinx python3-nose gettext build-essential
$ sudo apt-get install libelf-dev libglib2.0-dev libblkid-dev libjson-glib-1.0 libjson-glib-dev
  1. 取得測試分支源:
$ cd ~
$ git clone -b feature/uniques https://github.com/SeeSpotRun/rmlint.git
$ cd rmlint/
  1. 編譯並(可選)安裝:
$ scons config
$ scons DEBUG=1 -j4
$ sudo scons DEBUG=1 -j4 --prefix=/usr install
$ # (if you skip the install step then replace 'rmlint' with './rmlint' below)
  1. 尋找唯一文件(不會刪除任何內容):
$ # this will display unique files on your screen:
$ rmlint -o uniques path/to/your/files
$ # or use either of the following to write a list of unique files to unique.txt:
$ rmlint -o uniques:unique.txt path/to/your/files
$ rmlint -o uniques path/to/your/files > unique.txt

dir2如果您想要其中的文件列表dir1你可以有一個雙胞胎標籤dir2 用作//分隔符號並將-k(或--keep-all-tagged) 加到命令中:

$ rmlint -k -o uniques dir1 // dir2

(請注意,如果 dir2 中有兩個相同的文件,但它們在 dir1 中沒有副本,則在上一個範例中它們仍將被列為「唯一」)

  1. 讓我們知道進展如何。如有任何問題或建議,請在此回复或在我們的網站上回复問題日誌

請注意,在上面的範例中,如果您有兩個名稱不同但內容相同的文件,它們將不是被標記為唯一。如果你想要將它們標記為唯一,請將-b或新增--match-basename至命令列。

關於 md5 和等:rmlint 使用SHA-1預設情況下,比 md5 強約 40 億倍。您可以將其升級為SHA-512透過新增-p到命令列,或者您可以透過新增來進行逐字節比較-pp(儘管這會消耗更多的 RAM)。

相關內容