Usando o separador de vários campos de caracteres em awk
$ echo 'uid=12345(mylogin) gid=100(users)' | awk -F'[=()]' '{print "Login: " $3 "\nId: " $2 "\nGroup: " $6}'
Login: mylogin
Id: 12345
Group: users
-
-F'[=()]'set=ou(ou)como separadores de campo -
$3será o terceiro campo, após o primeiro=e o primeiro(terminado por). Por isso, obtém o valormylogin - Da mesma forma para outros campos e imprimir conforme necessário