hashdb2提供了一种基于匹配文件执行命令的简单方法

hashdb2的Python项目详细描述


用于快速扫描和比较文件/文件夹的命令行实用程序,主要基于内容。 可以使用参数替换将比较结果馈送到命令行。

此实用程序提供了一种快速高效地查找/删除/移动重复文件的方便方法。 文件元数据,包括散列,可以缓存在磁盘上,允许快速重复比较。

https://travis-ci.org/WHenderson/HashDb.svg?branch=master

安装

pip install hashdb2

命令行

HashDb2

Usage:
    hashdb2 -h | --help
    hashdb2 --version
    hashdb2 hash [-f|-q|-n] DATABASE -- INPUTS...
    hashdb2 comp [-f|-q|-n] [-steb0cid] ((--lhs-db LHSDB [(--lhs-path LHSPATH [--lhs-update])]) | --lhs-path LHSPATH) [(--rhs-db RHSDB ([--rhs-path RHSPATH [--rhs-update]])) | --rhs-path RHSPATH] -- COMMAND...

Options:
    hash                  Create/Update DATABASE with INPUTS
    comp                  Compare inputs, executing COMMAND for each result according to the special arguments provided to COMMAND

    -f, --full            Generate/Compare complete hash
    -q, --quick           Generate/Compare quick hash
    -n, --none            Do not generate/compare hashes [default]

    -s, --size            Compare using size
    -t, --time            Compare using modification time

    -e, --extension       Compare using file extension
    -b, --basename        Compare using basename

    -0, --skip-empty      Skip empty files

    -c, --echo            Echo command before execution
    -i, --ignore-errors   Ignore errors when executing command
    -d, --dry-run         Echo command but do not run it

    --lhs-db LHSDB        Left database input
    --lhs-update          Update left database as required
    --lhs-path LHSPATH    Left sub-path

    --rhs-db RHSDB        Right database input
    --rhs-update          Update right database as required
    --rhs-path RHSPATH    Right sub-path

    DATABASE              Name of the database to create/update
    INPUTS                List files/folders to add to DATABASE
    COMMAND               Command which is executed according to matched groups
                          The following values within command have special meaning:

                          {LHS}
                          {LHS} {RHS}
                          {LHS} {RHSGROUP}
                          {LHSGROUP}
                          {LHSGROUP} {RHS}
                          {LHSGROUP} {RHSGROUP}
                          {LHSONLY}
                          {LHSONLYGROUP}
                          {RHS}
                          {RHSGROUP}
                          {RHSONLY}
                          {RHSONLYGROUP}
                          {DUPE}
                          {DUPEGROUP}
                          {UNIQUE}
                          {UNIQUEGROUP}

                          LHS and RHS specifies the input
                          The GROUP suffix combines items into a list
                          The ONLY suffix finds elements which have no match

                          Use DUPE to get inputs which have duplicates (not valid with rhs)
                          Use UNIQUE to get inputs which are unique  (not valid with rhs)

示例

查找并删除重复项

hashdb2 comp --lhs-path /my-files -- rm {DUPE}

比较两个文件夹并从其中一个文件夹中删除副本

hashdb2 comp --lhs-path /keep-these-files --rhs-path /remove-duplicates -- rm {RHS}

复制丢失的文件

hashdb2 comp --lhs-path /backup --rhs-path /sdcard -- cp {RHSONLY} /backup/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPA:如何将持久性上下文与批量更新或删除的结果同步?   程序未激活时的java捕获击键   字符串到日期对象的java解析   LucenePDFDocument从pdfbox中消失了吗?   java解析ISO8601日期字符串到UTC时区的日期   java Android随机存取文件和文件系统缓冲区   java如何确保泛型类型的类型   mysql无法从Java中的数据库读取表中的行   spring用Java处理数百万条数据库记录   java AsyncTask正在引发InvocationTargetException   java这些集合允许null。为什么我不能添加空元素?   java无法从Android中的ftp服务器下载txt文件   Java堆栈跟踪未使用log4j2打印   java如何在Ubuntu 11.10上编译OpenJDK 7调试版本   java动态文件夹创建   在PHP和Java中使用socket   Java mxGraph中是否有可能限制单元格移动但不禁用它?   java如何找到org的路径。朱尼特?   方向更改时的java NullPointerException