Perl-скрипт для измельчения ввода и запуска новой строки после определенного количества экземпляров

У меня есть скрипт perl для преобразования текстового файла в json. Сценарий выглядит так:

perl -MJSON -F, -lane '
    print to_json ({
           domain => shift @F,
           emails => [map {{email =>$_}} @F]
           }, {canonical=>1})
' input1.txt' > output.json

Этот сценарий записывает вывод в файл в формате JSON. Я хочу знать, как я могу изменить скрипт, чтобы нарезать ввод как Что ж. Вот пример: входной файл содержит примерно следующее:

example.com,1@example.com,2@example.com,3@example.com,4@example.com,....

Выходной файл JSON будет:

{"domain":"example.com",emails:[{email:"1@example.com"},{email:"2@example.com"},.....]}

Точка (.) Означает, что есть другие электронные письма добавив туда после.

Теперь, что я хочу иметь, если письмо превышает 21, тогда сценарий должен записать в новую строку в выходном файле

Входной файл:

example.com,1@example.com,2@example.com,3@example.com,4@example.com,....500@example.com

Выход должен быть:

{"domain":"example.com",emails:[{email:"1@example.com"},{email:"2@example.com"},.....,{email:21@example.com}]}
{"domain":"example.com",emails:[{email:"22@example.com"},{email:"23@example.com"},.....]}
{"domain":"nextdomain.com",emails:[{email:"1@nextdomain.com"},{email:"2@nextdomain.com"},.....]}

И процесс продолжается.

1
задан 28 January 2017 в 16:57

0 ответов

Другие вопросы по тегам:

Похожие вопросы: