This golang utility recursively searches duplicating files in the given folder, then optionally shows it to terminal.
Application recursively search all files in given folder, and starts quota-limited goroutines for calculating file checksum. When checksum is ready - file name, size and checksum writes to database. After collecting all files, optionally application finds duplicating files by sql query and shows them to the terminal
- Quota channel to limiting concurrently running checksum calculating goroutines
- Polymorphic repository-pattern system to interacting with the database.
- Recursive file system search
- File content handling and hashing
- Ensure having installed go compiler
- Clone repository
git clone https://github.com/banderveloper/file-clone-searcher
- Open app folder
cd file-clone-searcher
- Restore dependencies
go mod tidy
- Execute
go run cmd/searcher/main.go [FLAGS]
- Go to repository releases
- Download last release
- If you run it on linux, optionally change file executing permission
chmod +x searcher_linuxamd64
- Execute
./searcher_linuxamd64 [FLAGS]
or.\searcher_windowsamd64.exe [FLAGS]
Utility accepts launch flags. Get information about available flags using --help launch flag
If you have any questions - create issue, or contact me using Instagram or Telegram (@bandernik)