All Projects → darakian → Ddh

darakian / Ddh

Licence: lgpl-3.0
A fast duplicate file finder

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Ddh

Lighthouse Ci
A useful wrapper around Google Lighthouse CLI
Stars: ✭ 198 (-24.43%)
Mutual labels:  cli, hacktoberfest
Json 2 Csv
Convert JSON to CSV *or* CSV to JSON!
Stars: ✭ 210 (-19.85%)
Mutual labels:  cli, hacktoberfest
Grank
Github 项目活跃度分析工具
Stars: ✭ 199 (-24.05%)
Mutual labels:  cli, hacktoberfest
Fselect
Find files with SQL-like queries
Stars: ✭ 3,103 (+1084.35%)
Mutual labels:  cli, hacktoberfest
Fsociety
A Modular Penetration Testing Framework
Stars: ✭ 259 (-1.15%)
Mutual labels:  cli, hacktoberfest
Fpl
An asynchronous Python wrapper for the Fantasy Premier League API.
Stars: ✭ 169 (-35.5%)
Mutual labels:  cli, hacktoberfest
Autarky
Liberating disk space from 📁 node_modules
Stars: ✭ 203 (-22.52%)
Mutual labels:  cli, hacktoberfest
Plugin Installation Manager Tool
Plugin Manager CLI tool for Jenkins
Stars: ✭ 138 (-47.33%)
Mutual labels:  cli, hacktoberfest
Ten Hands
⚡ Simplest way to organize and run command-line tasks
Stars: ✭ 228 (-12.98%)
Mutual labels:  cli, hacktoberfest
Awesomescripts
A Collection of Awesome Scripts in Python to Ease Daily-Life. Create an issue If you have some great idea for the new script. Leave a ⭐️
Stars: ✭ 228 (-12.98%)
Mutual labels:  cli, hacktoberfest
Pully
A simple CLI and library for downloading high quality YouTube videos!
Stars: ✭ 153 (-41.6%)
Mutual labels:  cli, hacktoberfest
Jenkins Cli
Jenkins CLI allows you manage your Jenkins as an easy way
Stars: ✭ 245 (-6.49%)
Mutual labels:  cli, hacktoberfest
Simplesh
🐧 Quick installation for Ubuntu terminal.
Stars: ✭ 152 (-41.98%)
Mutual labels:  cli, hacktoberfest
Tox
Command line driven CI frontend and development task automation tool.
Stars: ✭ 2,523 (+862.98%)
Mutual labels:  cli, hacktoberfest
Alienfx
AlienFX is a CLI and GUI utility to control the lighting effects of your Alienware computer.
Stars: ✭ 140 (-46.56%)
Mutual labels:  cli, hacktoberfest
Cypress Terminal Report
Better terminal and file output for cypress test logs.
Stars: ✭ 200 (-23.66%)
Mutual labels:  cli, hacktoberfest
Spectre.cli
An extremely opinionated command-line parser.
Stars: ✭ 121 (-53.82%)
Mutual labels:  cli, hacktoberfest
Awesome Wp Cli
A curated list of packages and resources for WP-CLI, the command-line interface for WordPress.
Stars: ✭ 129 (-50.76%)
Mutual labels:  cli, hacktoberfest
Tldr
Golang command line client for tldr https://github.com/tldr-pages/tldr
Stars: ✭ 210 (-19.85%)
Mutual labels:  cli, hacktoberfest
Ace
Node.js framework for creating command line applications
Stars: ✭ 233 (-11.07%)
Mutual labels:  cli, hacktoberfest

The Directory Differential hTool

DDH traverses input directories and their subdirectories. It also hashes files as needed and reports findings.

The H in "hTool" is silent. The H in its abbreviation, "DDH," is not.

This tool is called DDH for two very good reasons.

  • DDT is a dangerous pesticide
  • I mistyped when I created the project

Usage

DDH is usable both as a library and as a stand alone CLI tool and aims to be simple to use in both cases.

Library example

let (files, errors): (Vec<Fileinfo>, Vec<(_, _)>) = ddh::deduplicate_dirs(dirs);
let (shared, unique): (Vec<&Fileinfo>, Vec<&Fileinfo>) = files
                    .par_iter()
                    .partition(|&x| x.get_paths().len()>1);
process_full_output(&shared, &unique, &files, &errors, &arguments);

CLI Install

  • Install Rust
  • cargo install --git https://github.com/darakian/ddh ddh
  • The DDH binary will be installed into $CARGO_HOME/.bin/ddh, which usually is $HOME/.cargo/bin/ddh. This should be in your PATH already if you're using rustup.

CLI Features

DDH supports both a standard output for human comprehension and a parsable json output for custom tools such as ddh-move.

CLI Example

Directory Difference hTool
Jon Moroney [email protected]
Compare and contrast directories.
Example invocation: ddh /home/jon/downloads /home/jon/documents -f duplicates
Example pipe: ddh ~/Downloads/ -o no -v all -f json | someJsonParser.bin

USAGE:
    ddh [OPTIONS] <Directories>...

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --blocksize <Blocksize>    Sets the display blocksize to Bytes, Kilobytes, Megabytes or Gigabytes. Default is
                                   Kilobytes. [possible values: B, K, M, G]
    -f, --format <Format>          Sets output format. [possible values: standard, json, off]
    -o, --output <Output>          Sets file to save all output. Use 'no' for no file output.
    -v, --verbosity <Verbosity>    Sets verbosity for printed output. [possible values: quiet, duplicates, all]

ARGS:
    <Directories>...    Directories to parse

How Does DDH Work?

DDH works by hashing files to determine their uniqueness and, as such, depends heavily on disk speeds for performance. The algorithmic choices in use are discussed here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].