2º Reto (CSS 2017)

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.

Deja una respuesta