2 个版本

0.1.1 2019年5月2日
0.1.0 2019年5月2日

#17 in #去重

MIT 许可证

21KB
459 代码行

filedupes

Latest version License

这是一个库,可以用来在两个文件内容向量上懒惰地(不直接加载整个文件)检查重复项

使用来自dupe-krill的文件哈希代码

示例

use filedupes::*;

fn main() {
    // get the files in the closest subfolder
    let mut origs = get_files(&"./",2);

    // just do a quick removal of all original duplicates, sort will sort on size
    origs.sort();
    origs.dedup();

    // compare to all files in all the subfolders
    let mut checks = get_files(&"./", std::usize::MAX);
    println!("{} Originals checked against {} files", origs.len(), checks.len());
    let dupesets = check_duplicates(&origs, &mut checks);

    println!( "Amount of duplicates of first {}", dupesets.first().unwrap().dupes.len() );
}

二进制

这个包包含一个名为 ripdupe 的二进制文件,这是一个小型软件工具,可以检查重复项,要么删除它们,要么仅显示和总结它们。

示例:搜索 cats.jpg 的重复项

cargo run --release -- -o testdata/cats.jpg -c testdata/

这是一个小型软件工具,可以将一组文件与另一组文件进行比较,以查找重复项。由于它可以限制文件夹的遍历深度,因此只能更改或包含不在子文件夹中的文件,因此与类似工具有一些不同。

示例:仅获取文件夹中的顶级文件,并在最近的子文件夹中查找重复项

cargo run --release -- -o testdata/ --odepth 1 -c testdata/ --cdepth 2

警告

我对此程序删除文件造成的文件丢失不承担任何责任,因为这个程序是专门创建来删除重复文件的。

依赖项

~0.9–8MB
~51K SLoC