В этом проекте вам предлагается написать аналог mmv — утилиты для массового перемещения или переименовывания файлов по шаблону.

От вас требуется уделить наибольшее внимание правильному дизайну, чистому коду, тестированию и документации всей системы.

Enjoy 🙂

Интерфейс

На вход программе подается два аргумента: шаблон для выбора файлов и шаблон целевого пути:

$  ./mmv 'path/to/some_*_filename.*' 'path2/to/changed_#1_filename.#2'

Замечание: символ * может быть только в имени файла

Утилита должна вывести на экран список изначальных путей файлов и их путей после перемещения:

$ ./mmv 'path/to/some_*_filename.*' 'path2/to/changed_#1_filename.#2'
path/to/some_A_filename.bin -> path2/to/changed_A_filename.bin
path/to/some_A_filename.jpg -> path2/to/changed_A_filename.jpg
path/to/some_B_filename.bin -> path2/to/changed_B_filename.bin
path/to/some_B_filename.jpg -> path2/to/changed_B_filename.jpg

И переместить файлы.

Флаги

-h --help — показать help справку

-f --force — затирает существующие файлы, если они существуют

Ошибки