11 stable releases
1.7.0 | Apr 12, 2020 |
---|---|
1.6.1 | Nov 23, 2019 |
1.6.0 | Oct 26, 2019 |
1.4.1 | Nov 13, 2018 |
1.3.1 | Jun 21, 2017 |
#1018 in Filesystem
17KB
315 lines
fddf
Fast data dupe finder
This is a small Rust command-line program to find duplicate files in a directory recursively. It uses a thread pool to calculate file hashes in parallel.
Duplicates are found by checking size, then (Blake3) hashes of parts of files of same size, then a byte-for-byte comparison.
Build/install
Directly from crates.io with cargo install fddf
.
From checkout:
cargo build --release
cargo run --release
Minimum supported Rust version is 1.39.0.
Usage
fddf [-s] [-t] [-S] [-m SIZE] [-M SIZE] [-v] <rootdir>
-s: report dupe groups in a single line
-t: produce a grand total
-S: don't scan recursively for each directory given
-f: check for files with given pattern only
-F: check for files with given regular expression only
-m: minimum size (default 1 byte)
-M: maximum size (default unlimited)
-v: verbose operation
By default, zero-length files are ignored, since there is no meaningful data to
be duplicated. Pass -m 0
to include them.
PRs welcome!
Dependencies
~7–16MB
~216K SLoC