Достъпна е нова версия на конзолната утилита Nomenus-rex, предназначена за масово преименуване на файлове. Програмата е написана на C++ и се разпространява под условията на лицензия GPLv3. Правилата за преименуване се настройват чрез конфигурационен файл. Например: source_dir = «/home/user/work/source»; destination_dir = «/home/user/work/destination»; keep_dir_structure = false; copy_or_rename = «copy»; rules = ( { type = «date»; date_format = «%Y-%m-%d»; }, { type = «text»; text = «_»; }, { type = «dir»; // mode = «whole path»|«parent dir only» mode = «whole path»; separator = «-«; }, { type = «text»; text = «_»; }, { type = «integer»; // mode = «global»|«local at every dir» mode = «local at every dir»; start = 0; step = 1; padding = 5; }, { type = «extension»; // leave the «ext» variable empty to use an original extension ext = «»; // mode = «lowercase»|«uppercase»|«sic»; mode = «lowercase»; } );
При използване на посочените настройки, утилитата преименува файла «/home/user/work/source/TestDir2/file2.txt» в «/home/user/work/destination/2022-03-16_TestDir2_0.txt». Утилитата също така работи с директории HOME и XDG_CONFIG_HOME (където търси конфигурационния файл в случай, че не е посочен пълният път) и разбира съкращението «~» за достъп до домашната директория.
Промени в новата версия:
- Добавен е нов вид «правила», който приема текущото незавършено име като параметър. Това позволи добавянето на правило replace, което заменя всички входове на подстринг с нов низ.
- Сега имената на файловете се сортират по азбучен ред преди обработката. По-рано файловете се обработваха в реда, в който ги предоставяше файловата система. В следващата версия тази сортировка ще стане контролирана от потребителя.
- Документацията е значително преработена, което я направи по-удобна.
- Вътрешни промени в кода (началото на създаването на тестове и нова шаблонна функция за четене на enum-переменные от конфигурационния файл), които имат за цел да улеснят добавянето на нови правила и да намалят броя на новите грешки.
Източник: opennet.ru
