1er Reto (CSS 2017)

Enunciado:

Tenemos un fichero llamado «usuarios.txt» (puedes descargarlo de aquí) con el siguiente formato: el primer valor de cada línea representa un número secuencial, el segundo es un login de usuario, y el tercero es el número de accesos a la base de datos que ha realizado en el último mes:

1. abarch 83

2. abcmtr 22

3. alcaco 62

En este reto, deberás escribir un Shell Script que nos permita gestionar las búsquedas de accesos a la base de datos. Para ello, se espera que el Script reciba como parámetro de entrada una cadena de caracteres y cree un fichero de salida. Este fichero de salida contendrá:

  • Todos los logins que empiecen por esa cadena de caracteres, sin incluir ni el identificador ni el número de accesos a la base de datos.
  • La suma total de accesos a la base de datos de todos los usuarios cuyo login empieza por esa cadena.
  • El login que empieza por esa cadena y que menos veces ha accedido a la base de datos. En caso de haber más de uno, se mostrará el primero.

Ejemplo:

En el fichero proporcionado, si llamamos al Script pasándole como parámetro la cadena «ra», nos deberá generar un fichero similar al siguiente:

rasado

ravila

La cantidad de accesos a la base de datos por usuarios que empiezan por «ra» es: 161

El login que empieza por «ra» y que tiene menos accesos a la base de datos es: ravila

Algunas aclaraciones:

  • Asumimos que tenemos un fichero «usuarios.txt» en el mismo directorio del Script.
  • El Script debe funcionar bien con cualquier fichero «usuarios.txt» que tenga el formato indicado.
  • El nombre del fichero de salida puede ser el que quieras.
  • Si no se pasa un único parámetro de entrada, se mostrará un mensaje de error y terminará el Script.
  • Si no hay ningún login que empiece por la cadena introducida, se mostrará un mensaje al respecto y no se generará ningún fichero de salida.
  • Los logins incluidos en el fichero de salida pueden estar en la misma línea separados por espacios o en líneas separadas.
  • Los mensajes del fichero de salida que se ven en el ejemplo, pueden ser diferentes.

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