-
В файле
./people.csv
хранится информация о пользователях в CSV формате. В первом поле содержится id пользователя (целое без знака), во втором его имя (строка текста). Пример строки в файле:1;Ivan Pupkin
-
Есть папка
./texts
, в которой хранятся тексты в расширении.txt
, связанные с пользователями. Имена файлов имеют форматid-n.txt
, гдеid
- идентификатор пользователя из файла csv, аn
- порядковый номер файла, дополненный нулями слева до 3 символов (например, для пользователя с 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 фреймворк, если вам так удобнее.