paste -d "." <(curl http://.../dist.female.first http://.../dist.male.first | cut -d " " -f 1 | sort -uR) <(curl http://..../dist.all.last | cut -d " " -f 1 | sort -R | head -5163) | tr "[:upper:]" "[:lower:]" | sed 's/$/@test.domain/g'
Команда paste объединяет текстовые файлы, выравнивая строки по столбцам. В данном случае команда используется для объединения результатов нескольких команд и применения дополнительных преобразований.
Аргумент -d «.» задает разделительную строку между столбцами, в данном случае используется точка.
<(curl http://…/dist.female.first http://…/dist.male.first | cut -d " " -f 1 | sort -uR) и <(curl http://…./dist.all.last | cut -d " " -f 1 | sort -R | head -5163) — эти два выражения представляют собой процессные подстановки, результатом которых являются временные файлы, содержащие вывод команд curl, cut, sort и head. Оба временных файла подаются на вход команды paste.
Остальные части команды tr "[:upper:]" "[:lower:]" и sed 's/$/@test.domain/g' используются для преобразования текстового формата. tr приводит все символы в нижний регистр, а sed заменяет конец каждой строки на "@test.domain".
Альтернативной командой можно использовать awk или join, в зависимости от требуемого формата вывода.
