Skip to content

Releases: MaxGog/seekfs

Release list

v0.1.0

Choose a tag to compare

@MaxGog MaxGog released this 31 Oct 11:05
3218ab7

SeekFS v0.1.0

SeekFS - современная утилита для поиска файлов, написанная на C++17/20. Быстрая, многопоточная и удобная альтернатива стандартным инструментам поиска.

📦 Скачать

SeekFS для Unix-систем (Linux/macOS):

🚀 Быстрый старт

# Сделать файл исполняемым
chmod +x SeekFS

# Проверить работу
./SeekFS --help

# Или скопировать в системные бинарные директории
sudo cp SeekFS /usr/local/bin/
SeekFS --help

✨ Основные возможности

🔍 Умный поиск

  • Поиск по имени: Регулярные выражения для имен файлов
  • Поиск по содержимому: Поиск текста внутри файлов
  • Поиск дубликатов: Обнаружение одинаковых файлов через MD5-хеш

⚡ Производительность

  • Многопоточность: Параллельная обработка файлов
  • Оптимизированные алгоритмы: Быстрый поиск даже в больших директориях
  • Прогресс-бар: Визуализация выполнения операций

🎯 Фильтрация

  • По типу файлов: Фильтрация по расширениям
  • По размеру: Исключение слишком больших файлов
  • Регистр: Учет или игнорирование регистра

📚 Примеры использования

Поиск файлов по имени

# Все текстовые файлы
./SeekFS -n ".*\.txt$"

# Файлы с "test" в имени (без учета регистра)
./SeekFS -n "test" -i --progress

Поиск по содержимому

# Файлы содержащие "TODO"
./SeekFS -c "TODO" --progress

# Поиск email адресов
./SeekFS -c "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" -i

Поиск дубликатов

# Поиск дубликатов с 8 потоками
./SeekFS -d -t 8 --progress

# Поиск дубликатов изображений
./SeekFS -d --type jpg,png --max-size 50

🛠 Технические детали

  • Язык: C++17/20
  • Сборка: CMake
  • Зависимости: Только STL + cxxopts для CLI
  • Портированность: Кросплатформенный код

📁 Поддерживаемые платформы

  • ✅ Linux (x86_64)
  • ✅ macOS (x86_64/Apple Silicon)
  • ✅ Другие Unix-системы

🔧 Сборка из исходников

git clone https://github.com/yourusername/SeekFS.git
cd SeekFS
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

🐛 Сообщение об ошибках

Нашли баг или есть предложение? Создайте Issue на GitHub!