Assumindo que todos os registros com o mesmo domínio estão agrupados, este programa awk terá uma pegada de memória muito pequena (não pode dizer qual será a carga da CPU)
awk '
$1 != domain {
if (domain) print ""
printf "%s", $1
domain = $1
}
{printf ",%s", $3}
END {print ""}
' file