{"id":15410541,"url":"https://github.com/sergio0694/clup","last_synced_at":"2025-08-03T18:32:31.265Z","repository":{"id":88679642,"uuid":"135491946","full_name":"Sergio0694/clup","owner":"Sergio0694","description":"A no-nonsense .NET Core 2.1 CLI duplicate files remover","archived":false,"fork":false,"pushed_at":"2021-04-04T17:51:21.000Z","size":66,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-21T07:46:10.623Z","etag":null,"topics":["cli","cli-app","dotnet","dotnet-tool","dotnetcore","duplicate-detection","duplicate-files","duplicates-removed","netcoreapp"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/clup/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sergio0694.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-30T20:04:56.000Z","updated_at":"2023-09-08T17:41:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"6d11be0f-1664-451a-9e3b-c2d3421b4feb","html_url":"https://github.com/Sergio0694/clup","commit_stats":{"total_commits":77,"total_committers":2,"mean_commits":38.5,"dds":0.1298701298701299,"last_synced_commit":"6aedc5ddbcf81780299b0e56e6b705fb7be21dce"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sergio0694%2Fclup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sergio0694%2Fclup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sergio0694%2Fclup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sergio0694%2Fclup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sergio0694","download_url":"https://codeload.github.com/Sergio0694/clup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228559396,"owners_count":17936859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cli-app","dotnet","dotnet-tool","dotnetcore","duplicate-detection","duplicate-files","duplicates-removed","netcoreapp"],"created_at":"2024-10-01T16:44:55.766Z","updated_at":"2024-12-07T04:22:41.874Z","avatar_url":"https://github.com/Sergio0694.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# clup - clean duplicates\n\n[![NuGet](https://img.shields.io/nuget/v/clup.svg)](https://www.nuget.org/packages/clup/) [![NuGet](https://img.shields.io/nuget/dt/clup.svg)](https://www.nuget.org/stats/packages/clup?groupby=Version) [![Twitter Follow](https://img.shields.io/twitter/follow/Sergio0694.svg?style=flat\u0026label=Follow)](https://twitter.com/SergioPedri)\n\nA .NET Core 2.1 CLI tool to easily remove duplicate files.\n\n## Installing from DotGet\n\nMake sure to get the [.NET Core 2.1 SDK](https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300), then just run this command:\n\n```\ndotnet tool install clup -g\n```\n\nAnd that's it, you're ready to go!\n\n## Quick start\n\n**clup** has three main commands: `delete`, `move` and `list`. \n\nWhile they share most of the available options, the main difference is that `delete` automatically removes all the duplicate files it founds (leaving only the original files), `move` keeps the duplicate files after moving them in a specified directory, and `list` just writes down a summary of the discovered duplicate files.\n\nOther options include:\n* `-m` | `--minsize` and `-M` | `--maxsize`: used to specify a min/max size (in bytes) for the files to be processed and deleted.\n* `-h` | `--hash`: to indicate whether to just use the MD5 hash of the files contents to check for duplicates, or to also include the files extensions or complete filenames.\n* `-i` | `--include`: a list of file extensions to use to filter the files in the source directory.\n* `-e` | `--exclude`: an optional list of file extensions to ignore (this option and `include` are mutually exclusive).\n* `-b` | `--beep`: play a short feedback sound when the requested operation completes.\n* `-v` | `--verbose`: display additional info after analyzing the source directory.\n* `--source-current`: use the current working directory as the source path.\n\n### Examples\n\nFind and remove duplicate files from the specified path, notify when the operation finishes and play a notification sound:\n\n```\nclup remove -s c:\\users\\myname\\downloads -v -b\n```\nFind duplicate files from the current directory and save a detailed log:\n\n```\nclup list --source-current --logdir-root -v\n```\n\n## Dependencies\n\nThe libraries use the following libraries and NuGet packages:\n\n* [CommandLineParser](https://www.nuget.org/packages/commandlineparser/)\n* [JetBrains.Annotations](https://www.nuget.org/packages/JetBrains.Annotations/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergio0694%2Fclup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergio0694%2Fclup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergio0694%2Fclup/lists"}