Утилита командной строки на C для автоматического перемещения файлов с заданным расширением в целевую директорию.
- 📦 Перемещение файлов по расширению (
jpg,log,c, и др.) - 📣 Уведомления при ошибках или успешных операциях
- ⚡ Написано на C — никаких сторонних зависимостей
./tn -e jpg -d images/./tn -m "jpg=images;mp4=videos;mp3=music"🔸 Перемещение файлов .jpg в директорию images:
tn -e jpg -d images🔸 Перемещение файлов .jpg в директорию images:
🔸 Перемещение файлов .mp4 в директорию video:
🔸 Перемещение файлов .mp3 в директорию music:
./tn -m "jpg=images;mp4=videos;mp3=music"Склонируйте репозиторий и соберите проект:
git clone https://github.com/yourusername/tiny_ninja.git
cd tiny_ninja
cmake -B build
cmake --build buildПолная сборка (включая тесты)
git clone https://github.com/yourusername/tiny_ninja.git
cd tiny_ninja
cmake -B build
cmake --build buildТолько исполняемый файл (tn) без тестов
git clone https://github.com/yourusername/tiny_ninja.git
cd tiny_ninja
cmake -B build -DBUILD_TESTING=OFF
cmake --build build --target tnsudo cp build/tn /usr/local/bin/tnПосле этого tn будет доступна как обычная команда из любого места:
tn -e jpg -d imagesgit clone https://github.com/yourusername/tiny_ninja.git && \
cd tiny_ninja && \
cmake -B build -DBUILD_TESTING=OFF && \
cmake --build build --target tn && \
sudo cp build/tn /usr/local/bin/tntn -hЕсли вы хотите удалить Tiny Ninja из системы, выполните команду:
sudo rm /usr/local/bin/tnСписок запланированных возможностей и улучшений:
-
🥷 Релиз MVP
Первая демо версия утилиты -
🧰 Поддержка нескольких расширений
Возможность указывать файлы списками:
-m jpg=images;mp4=video;avi=video -
🧪 Покрыть тестами основной функционал
-
🔧 Глобальный конфиг-файл
Расположение:~/.config/tiny_ninja/.tiny_ninja
Позволит сохранять пользовательские настройки по умолчанию. -
🗂️ Локальные конфигурации
.tiny_ninja
Разрешит каждому каталогу задавать свои правила сортировки. -
📏 Фильтрация по размеру файла
Примеры опций:
--min-size 5MB,--max-size 100KB -
🕓 Фильтрация по дате создания
Примеры опций:
--older-than 30d,--newer-than 7d -
🧵 Многопоточность
Параллельная обработка большого количества файлов для ускорения. -
⏲️ Демон-режим
Постоянно работающий режим, периодически наводящий порядок автоматически.
Мы всегда рады улучшениям, идеям и исправлениям. Чтобы внести вклад в развитие Tiny Ninja:
- 🔀 Сделайте fork репозитория
- 🛠️ Создайте новую ветку:
- ✍️ Внесите изменения
- ✅ Убедитесь, что проект собирается и работает
- 📤 Откройте Pull Request с описанием изменений
git checkout -b feature/ваша-фича📢 Также вы можете:
Открыть Issue, если нашли баг или у вас есть предложение
Отметить репозиторий звёздочкой ⭐ — это мотивирует!
Поделиться ссылкой с коллегами и друзьями 👥
💡 Tiny Ninja строится на идее минимализма и читаемого C-кода.
Ваша помощь делает проект лучше для всех.