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.