2 releases
new 0.1.1 | Mar 1, 2025 |
---|---|
0.1.0 | Mar 1, 2025 |
#1 in #tools
51KB
1K
SLoC
DirTools (dirt)
Утилита командной строки для эффективной работы с файлами и директориями. Обеспечивает (часто нужные мне) операции по управлению файловой системой через простой интерфейс.
Установка
cargo install dir_tools
# или
cargo install --git https://github.com/dece1ver/dir_tools.git
# или скомпилировать из исходников
git clone https://github.com/dece1ver/dir_tools.git
cd dir_tools
cargo build --release
# или скачать в релизах
Использование
dirt [КОМАНДА] [ОПЦИИ]
Команды
Expose - Раскрыть файлы из вложенных директорий
dirt expose <ДИРЕКТОРИЯ> [--force]
Опции:
--force, -f
: Перезаписывать существующие файлы
Flatten - Упростить структуру директорий
dirt flatten <ДИРЕКТОРИЯ> [--output <ПАПКА>] [--move-files]
Опции:
--output, -o
: Директория для сохранения результатов--move-files, -m
: Перемещать файлы вместо копирования
Rename - Заменить части названий файлов/директорий
dirt rename <ДИРЕКТОРИЯ> [TARGET_TYPE] --find <ТЕКСТ> --replace <ТЕКСТ>
Опции:
TARGET_TYPE
:dirs
,files
илиboth
(по умолчанию:both
)--find, -f
: Что заменить--replace, -r
: На что заменить
AddParentDir - Добавить имя родительской директории к файлам
dirt add-parent-dir <ДИРЕКТОРИЯ> [--delimiter <РАЗДЕЛИТЕЛЬ>]
Опции:
--delimiter, -d
: Разделитель между именем директории и файла (по умолчанию: " ")
Find - Поиск файлов по различным критериям
dirt find <ДИРЕКТОРИЯ> [MODE] [--pattern <ШАБЛОН>] [--output <ФАЙЛ>]
Опции:
MODE
: Режим поиска:file-name
,content
,regexp
,gavriluk
(по умолчанию:file-name
)--pattern, -p
: Шаблон для поиска--output, -o
: Путь для сохранения результатов
Lock - Блокировка файла на чтение и запись
dirt lock <ПУТЬ> [TIMER] [MODE]
Опции:
TIMER
: Время блокировки в секундах (не указывать для бессрочной)MODE
: Режим блокировки:read
,write
,read-write
(по умолчанию:read-write
)
Tree - Показать дерево директории с содержимым
dirt tree <ДИРЕКТОРИЯ> [--show-content] [--max-depth <ГЛУБИНА>] [--full-content] [--show-hidden]
Опции:
--show-content, -c
: Показывать содержимое файлов--max-depth, -d
: Максимальная глубина сканирования (0 - без ограничений)--full-content, -f
: Показывать полное содержимое файлов--show-hidden, -a
: Показывать скрытые файлы
Примеры использования
# Переименовать все файлы, заменяя "old" на "new"
dirt rename . files --find "old" --replace "new"
# Переместить все файлы из вложенных папок в одну директорию
dirt flatten ./downloads -m -o ./organized
# Добавить имя родительской папки к названию каждого файла
dirt add-parent-dir ./photos -d "_"
# Найти все файлы с текстом "TODO"
dirt find ./project content -p "TODO" -o ./todo-list.txt
# Просмотреть структуру проекта с содержимым
dirt tree . -c -d 3
Особенности
- Работает с относительными путями от текущей директории
- Параллельная обработка для быстрой работы с большими директориями
- Визуальные индикаторы прогресса для длительных операций
- Корректная обработка дубликатов имен при перемещении/копировании
Dependencies
~11–23MB
~340K SLoC