50% OFF Plus
--:--:--
¡Ver!

Bash: Expresiones regulares y manipulación de texto

Código
Experto
Bash
Curso de Bash
20 min
250 XP
Actualizado: 23/11/2024

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.

Tipo: Ejercicio de código 20 minutos estimados 250 puntos de experiencia

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:

  1. El script debe aceptar un argumento: la ruta al archivo de entrada.
  2. Utiliza grep con expresiones regulares para identificar las direcciones de correo válidas.
  3. Emplea otros comandos como sort y uniq para procesar los resultados.
  4. 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 relacionada

Má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 Bash

Cursos que incluyen este ejercicio

Este ejercicio forma parte de los siguientes cursos estructurados con rutas de aprendizaje

Alan Sastre - Autor del ejercicio

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Bash es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear ejercicios prácticos y contenido educativo de calidad para desarrolladores de todos los niveles.

Solución al ejercicio de programación en Bash

Contenido bloqueado

¡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.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

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

Ejercicios de programación en Bash: Práctica y Certificación

Los ejercicios de programación son fundamentales para dominar Bash. Este ejercicio está diseñado para poner a prueba tus conocimientos prácticos y ayudarte a consolidar lo aprendido en las lecciones teóricas. La práctica constante con ejercicios de programación es la clave para convertirte en un desarrollador experto.

¿Por qué resolver ejercicios de programación?

Resolver ejercicios de programación en Bash te permite:

  • Aplicar conocimientos teóricos: Poner en práctica los conceptos aprendidos en las lecciones de Bash.
  • Identificar áreas de mejora: Descubrir qué conceptos necesitas reforzar en tu aprendizaje de Bash.
  • Prepararte para certificaciones: Los ejercicios te preparan para obtener certificados profesionales en Bash.
  • Mejorar tu perfil profesional: Demostrar tus habilidades prácticas en Bash.

Metodología de aprendizaje

Nuestros ejercicios de programación están diseñados siguiendo una metodología probada de aprendizaje progresivo. Cada ejercicio en Bash está cuidadosamente estructurado para llevar tus habilidades al siguiente nivel. Comenzamos con conceptos fundamentales y avanzamos gradualmente hacia desafíos más complejos que reflejan situaciones reales del desarrollo de software profesional.

Certificación y validación de conocimientos

Al completar ejercicios de programación, no solo mejoras tus habilidades técnicas, sino que también puedes obtener certificados que validan tu expertise en Bash. Estos certificados son reconocidos por empresas y pueden ser una gran adición a tu perfil profesional de LinkedIn o tu CV como desarrollador.

Los ejercicios están alineados con los estándares de la industria y cubren desde conceptos básicos hasta técnicas avanzadas de programación en Bash. Cada ejercicio incluye casos de prueba y ejemplos prácticos que te ayudarán a comprender mejor cómo aplicar lo aprendido en proyectos reales.

Nota: Para obtener el máximo beneficio de este ejercicio de programación, te recomendamos revisar primero las lecciones relacionadas de Bash y asegurarte de comprender los conceptos básicos antes de intentar resolver el ejercicio.