Ejercicio de programación: Expresiones regulares y manipulación de texto
Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Bash. Es un ejercicio para expertos que requiere un dominio completo de la tecnología.
Información adicional del ejercicio
Desarrolla un script Bash que extraiga direcciones de correo electrónico válidas de un archivo de texto, eliminando duplicados y ordenando alfabéticamente.
Contenido del ejercicio
Escribe un script Bash que reciba como argumento la ruta de un archivo de texto que contiene varias líneas con posibles direcciones de correo electrónico. El script deberá realizar las siguientes tareas utilizando expresiones regulares:
Identificar y extraer todas las direcciones de correo electrónico que cumplan con el siguiente patrón:
- Usuario: Puede incluir letras mayúsculas y minúsculas, números, puntos (
.
), guiones (-
) y guiones bajos (_
). - Dominio: Puede incluir letras, números y guiones (
-
). - Dominio de nivel superior (TLD): Debe contener entre 2 y 6 letras.
Guardar todas las direcciones válidas extraídas en un archivo llamado emails_extraidos.txt
.
Asegurarse de que el archivo emails_extraidos.txt
contenga únicamente direcciones únicas, sin repeticiones, y ordenadas alfabéticamente.
Entrada
Un archivo de texto con múltiples líneas que pueden contener o no direcciones de correo electrónico. Por ejemplo, entrada.txt
:
Contacto: juan.perez@example.com
Correo alternativo: juan_perez@sub.example.co.uk
Dirección inválida: juan@.com
Otro contacto: maria-123@domain.org
Correo duplicado: juan.perez@example.com
Salida esperada
El archivo emails_extraidos.txt
debe contener las siguientes direcciones:
juan.perez@example.com
maria-123@domain.org
Instrucciones:
- El script debe aceptar un argumento: la ruta al archivo de entrada.
- Utiliza
grep
con expresiones regulares para identificar las direcciones de correo válidas. - Emplea otros comandos como
sort
yuniq
para procesar los resultados. - Al finalizar, el script debe generar el archivo
emails_extraidos.txt
en el mismo directorio donde se ejecuta.
Restricciones:
- No se deben incluir direcciones de correo inválidas en el archivo de salida.
- Las direcciones deben ser únicas y ordenadas alfabéticamente.
- El script debe manejar archivos de entrada de cualquier tamaño de forma eficiente.
Ejemplo de ejecución:
Damos por hecho la existencia de un script entrada.txt
con el contenido mencionado anteriormente. Al ejecutar el siguiente comando:
bash extraer_emails.sh entrada.txt
Se generará un archivo emails_extraidos.txt
con el contenido esperado. Prueba en tu ordenador y escribe aquí tu código Bash.
Lección relacionada
Este ejercicio está relacionado con la lección "Expresiones regulares y manipulación de texto" de Bash. Te recomendamos revisar la lección antes de comenzar.
Ver lección relacionadaMás ejercicios de Bash
Explora más ejercicios de programación en Bash para mejorar tus habilidades y obtener tu certificación.
Ver más ejercicios de BashSolución al ejercicio de programación en Bash
¡Desbloquea la solución completa!
Completa el ejercicio de programación en Bash para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.
Practica con ejercicios de programación en Bash
Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.
Asistente de IA
Aprende de tus errores
Progreso
Mide tu avance
Certificación
Valida tus habilidades
Únete a miles de desarrolladores mejorando sus habilidades en Bash