https://github.com/prophetru/duplicatefilefinder
Educational project
https://github.com/prophetru/duplicatefilefinder
boost cmake concept cpp cpp20 cpp23 crc32 doxygen filesystem gtest md5 otus programoptions regex
Last synced: 5 months ago
JSON representation
Educational project
- Host: GitHub
- URL: https://github.com/prophetru/duplicatefilefinder
- Owner: ProphetRu
- License: apache-2.0
- Created: 2024-03-29T11:12:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-29T11:48:15.000Z (over 1 year ago)
- Last Synced: 2025-02-17T22:34:44.657Z (8 months ago)
- Topics: boost, cmake, concept, cpp, cpp20, cpp23, crc32, doxygen, filesystem, gtest, md5, otus, programoptions, regex
- Language: C++
- Homepage:
- Size: 175 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Duplicate File Finder
Educational project with [googletest](https://github.com/google/googletest), [doxygen](https://github.com/doxygen/doxygen) and [boost](https://github.com/boostorg)## Build local Linux
```shell
sudo apt-get update && sudo apt-get install cmake libgtest-dev libboost-all-dev libboost-regex-dev -ycd DuplicateFileFinder
mkdir build && cd buildcmake ..
# build release
cmake --build . --config Release# build deb-package
cmake --build . --target package
```## Build local Windows
```shell
vcpkg install gtest boost-program-options boost-filesystem boost-uuid boost-crc boost-regex
vcpkg integrate installcd DuplicateFileFinder
mkdir build && cd buildcmake .. -DCMAKE_TOOLCHAIN_FILE="path/to/vcpkg/scripts/buildsystems/vcpkg.cmake"
# build release
cmake --build . --config Release
```## Arguments
The program searches for duplicate files in specified directories.
The program takes the following arguments:
* `--help` - Produce help message.
* `--directories` or `-D` - Directories to scan.
* `--exclude` or `-E` - Directories to exclude from finding.
* `--deep-scan` - `1` to including subdirectories, `0` to search only in the specified directory.
* `--min-file-size` or `-F` - Minimum file size in bytes that will included when searching.
* `--file-mask` or `-M` - File search mask, supports regular expressions.
* `--block-size` or `-S` - Block size for reading files.
* `--hashing-type` or `-H` - Hashing type `1` to md5, `0` to crc32.Example:
```shell
DuplicateFileFinder -D /some/path -E exclude_dir --deep-scan 1 -F 4 -S 6 -H 1
```