#file #dedup #md5 #scan #duplicate #exec #shortest

app fdedup

跨平台的基于MD5的文件去重工具

1个稳定版本

1.0.0 2021年5月18日

#15#dedup

MIT 协议

14KB
283

fdedup

fdedup 会扫描指定目录树中具有不同名称但相同MD5哈希的文件。默认情况下,它会打印出所有找到的重复文件及其名称的报告,格式为JSON。可以通过 -exec 选项将重复文件传递给另一个程序,或者通过 --keep-shortest 选项删除除最短名称之外的所有文件。

fdedup 1.0.0

USAGE:
    fdedup [FLAGS] [OPTIONS] <path>

FLAGS:
    -h, --help               Prints help information
    -l, --ignore-symlinks    don't follow symlinks
        --keep-shortest      delete all but the shortest named duplicate
    -p, --pretend            only show what would be done
    -V, --version            Prints version information

OPTIONS:
        --exec <exec>                 pass each duplicate set to program
        --max-dirs <max-dirs>         max simultaneous open directories [default: 256]
        --max-files <max-files>       max simultaneous open files [default: 512]
        --max-symlinks <max-links>    max symlinks to traverse [default: 128]

ARGS:
    <path>

示例

$ fdedup proj 2>/dev/null
...
{"digest":[47,188,21,116,50,152,178,14,75,64,19,93,209,168,218,138],"paths":["file0","file1"]}
...

演示 -exec

$ fdedup --exec ./print-dup.sh proj 2>/dev/null

print-dup.sh

#! /bin/bash

echo $@

输出看起来像以下示例:

ee97dc2b732f200d616dae66216d57cc file0 file1

每行一个重复文件,以哈希值开头。

依赖

~6–13MB
~142K SLoC