2 个版本
0.1.1 | 2019年5月2日 |
---|---|
0.1.0 | 2019年5月2日 |
#17 in #去重
21KB
459 代码行
filedupes
这是一个库,可以用来在两个文件内容向量上懒惰地(不直接加载整个文件)检查重复项
使用来自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