-
В файле
./people.csv
хранится информация о пользователях в CSV формате. В первом поле id пользователя (целое без знака), во втором его имя (строка текста). Пример строки в файле:1;Sergey Dorohov
-
Есть папка
./texts
, в которой хранятся тексты, связанные с пользователями. Имена файлов имеют форматid-n.txt
, где n - номер файла, дополненный нулями слева до 4 символов (например, для пользователя с id=1 в папке может быть два файла:1-001.txt
,1-002.txt
)
Требуется написать утилиту для обработки текстов пользователей, в которую при ее вызове с командной строки можно передавать два параметра:
- Тип разделителя для CSV файлов (текстовая строка без кавычек)
comma
для запятойsemicolon
для точки с запятой)- Тип задачи, которую требуется выполнить над текстами пользователей (текстовая строка без кавычек)
countAverageLineCount
- для каждого пользователя посчитать среднее количество строк в его текстовых файлах и вывести на экран вместе с именем пользователя.replaceDates
- поместить тексты пользователей в папку ./output_texts, заменив в каждом тексте даты в форматеdd/mm/yy
на даты в форматеmm-dd-yyyy
. Вывести на экран количество совершенных для каждого пользователя замен вместе с именем пользователя.
Пользователь может вызвать утилиту, например, так:
php user_text_util.php comma countAverageLineCount
Утилита должна быть реализована так, чтобы она была готова к работе в production, активной доработке и развитию. В остальном ограничений нет. Можно использовать произвольное количество файлов для помещения в них кода или любой PHP фреймворк, если вам так удобнее.