Enunciado:
En este reto, deberás escribir un Shell Script que, a partir de un fichero de grupos y usuarios de un sistema, lo analice y muestre por pantalla cuántos grupos hay, cuántos usuarios tiene cada grupo y cuál es el grupo que tiene más usuarios. Entre las soluciones propuestas, tendrán mejor puntuación las que hagan un menor uso del comando wc.
A modo de ejemplo, puedes utilizar el fichero «grupos.txt» (puedes descargarlo de aquí) con el siguiente formato, en donde el primer valor de cada línea representa el nombre del grupo, y a partir de los dos puntos, son todos los usuarios que pertenecen a ese grupo separados por espacios:
administradores: jmalberola fjgomez rmmedina pmendoza
dam: alcuco bojaga virode anmape pepolu osgaci mamega roolbe jumofi visana
…
Ejemplo:
En el fichero proporcionado, si llamamos al Script e introducimos el nombre del fichero, nos deberá generar una salida por pantalla similar a la siguiente:
En el fichero proporcionado tenemos 4 grupos:
administradores: 4 usuarios
dam: 10 usuarios
daw: 7 usuarios
asir: 7 usuarios
El grupo que tiene más usuarios es «dam»
Algunas aclaraciones:
- El nombre del fichero debe pedirse al usuario. Si el usuario introduce un nombre de un fichero que no existe, debe mostrar un mensaje de error y volver a pedir el nombre al usuario.
- El Script debe funcionar bien con cualquier fichero que introduzca el usuario y que tenga el formato indicado.
- Si hay más de un grupo con el mismo número máximo de usuarios, se debe mostrar el nombre de todos ellos.
- Los mensajes que salen por pantalla pueden ser diferentes a los que se ven en el ejemplo.
Importante:
- Cuando termines, deberás enviar un único fichero con extensión «.sh» a través del siguiente enlace Envío de scripts.
- No pongas tu nombre dentro del fichero, puesto que se realizará una revisión a ciegas.