Dostępna jest nowa wersja narzędzia konsolowego Nomenus-rex, przeznaczonego do masowego zmieniania nazw plików. Program napisany jest w języku C++ i dystrybuowany na licencji GPLv3. Zasady zmiany nazw są konfigurowane za pomocą pliku konfiguracyjnego. Na przykład: 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"; } );
Przy użyciu podanych ustawień narzędzie zmieni nazwę pliku "\/home\/user\/work\/source\/TestDir2\/file2.txt" na "\/home\/user\/work\/destination\/2022-03-16_TestDir2_0.txt". Narzędzie obsługuje również katalogi HOME i XDG_CONFIG_HOME (gdzie szuka pliku konfiguracyjnego, jeśli nie podano pełnej ścieżki) oraz rozumie skrót „~” wskazujący na katalog domowy.
Zmiany w nowej wersji:
- Dodano nowy typ "reguły", przyjmujący jako parametr aktualną, nieukończoną nazwę. Dzięki temu udało się dodać regułę replace, która zamienia wszystkie wystąpienia podciągu na nowy ciąg.
- Teraz nazwy plików są sortowane alfabetycznie przed przetwarzaniem. Wcześniej pliki były przetwarzane w kolejności, w jakiej były zwracane przez system plików. W następnej wersji ta sortowanie będzie zarządzane przez użytkownika.
- Dokumentacja została nieco przeformułowana, co uczyniło ją bardziej przyjazną dla użytkownika.
- Wewnętrzne zmiany w kodzie (początek tworzenia testów i nowa funkcja szablonowa do odczytu zmiennych enum z pliku konfiguracyjnego) mają na celu uproszczenie dodawania nowych reguł i ograniczenie liczby błędów.
Źródło: opennet.ru
