#duplicate #compare #similarity #json-file #similar

bin+lib near-facsimile

在目录中查找相似或相同的文本文件

11 个版本 (稳定)

1.0.8 2024年3月4日
1.0.7 2023年7月27日
1.0.5 2023年1月26日
1.0.2 2022年10月25日
0.8.2 2022年8月17日

#5 in #similarity

Download history 2/week @ 2024-03-17 52/week @ 2024-03-31

每月294 次下载

Apache-2.0

36KB
498

near-facsimile

在目录中查找相似或相同的文本文件。

Rust tests dependency status

安装

  • 在 Fedora、RHEL 或 CentOS 上,从 Copr 存储库安装此程序

    1. 启用存储库

      # dnf copr enable mareksu/near-facsimile
      
    2. 安装软件包

      # dnf install near-facsimile
      
  • 在 macOS 上,使用 Homebrew 软件包管理器

    1. https://brew.sh.cn/ 中描述的说明安装 Homebrew 软件包管理器。

    2. 安装软件包

      $ brew install msuchane/repo/near-facsimile
      
  • 要在任何系统上从源安装,请使用 Cargo 软件包管理器

    1. https://rustup.rs/ 中的说明安装 Cargo

    2. 安装软件包

      $ cargo install near-facsimile
      
  • 要作为容器安装 near-facsimile,请使用 Docker 或 Podman。

    1. 下载镜像

      $ docker pull quay.io/msuchane/near-facsimile:latest
      
    2. 运行镜像

      $ docker run -it -v .:/mnt:Z msuchane/near-facsimile near-facsimile
      
    3. 可选地,将命令保存为 shell 配置文件中的别名。

用法

  • 递归检查文本文件目录

    dir-with-text]$ near-facsimile
    

    程序持续将文件信息打印到终端。

    最后,它可以保存所有按文件相似度排序的统计信息作为 CSV 或 JSON 文件。

选项

以下选项可用

指定文档目录

$ near-facsimile --path <path-to-directory>

将结果保存为 CSV 表格或 JSON 文件

可选地,您可以保存高于设置阈值的文件相似度作为 CSV 或 JSON

$ near-facsimile --csv <path-to-file>
$ near-facsimile --json <path-to-file>

设置最低报告相似度阈值

该工具仅报告相似度超过一定阈值的文件。默认阈值为 85.0,即 85% 相似。

$ near-facsimile --threshold=<85.0>

忽略文件中的某些行

您可以将文件比较配置为跳过所有与您的正则表达式匹配的行。比较是从剩余的行中计算的,这些行不匹配任何正则表达式。

例如,跳过所有以 // 开头的行

$ near-facsimile --skip-lines '^//'

切换到更快但不太精确的比较

默认情况下,该工具使用Levenshtein度量,它非常精确但相对较慢。您可以使用Jaro度量来比较文件,它大约需要一半的时间,但生成的统计数据不太精确。

$ near-facsimile --fast

如果您指定两次--fast选项(-ff),则工具将使用相对基础但非常快的三元组比较

$ near-facsimile --fast --fast

依赖项

~14–25MB
~337K SLoC