Ejercicios prácticos de búsqueda de texto con grep en Linux
Resumen
Este documento reúne una serie de ejercicios para practicar el comando grep en Linux. A partir de ejemplos de búsqueda en directorios y ficheros, el estudiante aprenderá a localizar cadenas, excluir líneas, usar comodines y expresiones regulares básicas y redirigir resultados.
Puntos clave
- grep -Rn busca recursivamente una cadena y muestra el número de línea junto al contenido.
- grep -Rl muestra únicamente los nombres de los ficheros que contienen la cadena buscada.
- grep -v excluye las líneas que contienen el patrón, y -i ignora la diferencia entre mayúsculas y minúsculas.
- El punto (.) actúa como comodín de un carácter, por ejemplo m.n localiza palabras con una m, cualquier letra y una n.
- Las anclas ^ y $ permiten buscar patrones al principio o al final de la línea, como "m.*n$".
- grep -E 'a|i' o grep '[ai]' localizan líneas que contienen una a o una i.
- El operador > redirige la salida de grep a un fichero nuevo, como palabras2.txt.
Este documento presenta una serie de ejercicios diseñados para practicar y dominar el uso del comando grep en entornos Linux. A través de estos ejemplos, aprenderás a buscar patrones de texto en ficheros y directorios, utilizando diversas opciones y expresiones regulares.
Búsqueda Básica de Patrones con Grep
28) Mostrar ficheros y líneas que contienen una palabra específica
Muestra los ficheros que contienen la palabra host dentro del directorio /etc, junto con la línea que contiene dicha cadena.
grep -Rn host /etc29) Mostrar solo los nombres de los ficheros con una palabra específica
Igual que el ejercicio anterior, pero mostrando solo los nombres de los ficheros.
grep -Rl host /etc30) Excluir líneas que contienen una letra específica
Muestra todas las líneas del fichero listado.txt que no contienen la letra 'a' (mayúscula o minúscula).
grep -Riv a listado.txtTrabajando con el fichero palabras.txt
31) Creación de un fichero de texto para ejercicios
Crea un fichero de texto llamado palabras.txt con las siguientes palabras (cada una en una línea): mano, mena, mono, mina, amante, amigo, amatista, amianto, jamón y main. Utiliza este fichero para los siguientes ejercicios.
touch palabras.txt
echo "mano" >> palabras.txt
echo "mena" >> palabras.txt
echo "mono" >> palabras.txt
echo "mina" >> palabras.txt
echo "amante" >> palabras.txt
echo "amigo" >> palabras.txt
echo "amatista" >> palabras.txt
echo "amianto" >> palabras.txt
echo "jamón" >> palabras.txt
echo "main" >> palabras.txt
cat palabras.txt32) Búsqueda de palabras que contengan una cadena
Muestra todas las palabras que contengan la cadena ma.
grep ma palabras.txt33) Búsqueda de patrones con caracteres comodín
Muestra todas las palabras que contengan una cadena donde la primera letra sea 'm', la segunda cualquier letra y la tercera 'n'.
grep m.n palabras.txt34) Combinación de patrones de búsqueda
Igual que el ejercicio anterior, pero que además contenga la letra 'a'.
grep m.n palabras.txt | grep a35) Búsqueda de patrones al principio y al final de la palabra
Muestra todas las palabras que contengan una cadena con una 'm' al principio, una 'n' al final y cualquier combinación de caracteres entre estas dos letras.
grep "m.*n$" palabras.txt36) Búsqueda de patrones con longitud específica
Igual que el ejercicio anterior, pero entre la 'm' y la 'n' debe haber exactamente dos caracteres.
grep "m..n$" palabras.txt37) Búsqueda de palabras que contengan una u otra letra
Muestra las palabras que contienen una 'a' o una 'i' (una u otra).
grep '[ai]' palabras.txtAlternativa:
grep -E 'a|i' palabras.txt38) Filtrado y redirección de resultados
Vuelca las líneas que contienen al menos una 'a' y una 'i' (ambas presentes) en el fichero palabras2.txt.
grep a palabras.txt | grep i > palabras2.txt39) Mostrar el número de línea de una coincidencia
Muestra el número de la línea en la que aparece main dentro del archivo palabras2.txt.
grep -n main palabras2.txt40) Búsqueda recursiva en directorios
Muestra todos los ficheros y directorios que hay dentro de /usr y dentro de todos sus subdirectorios de forma recursiva, siempre que contengan en su interior la cadena mp3.
grep -r "mp3" /usrDescargar
PDF Word HTMLPreguntas frecuentes
¿Cómo busco una palabra en todos los ficheros de un directorio con grep?
Se usa grep -Rn seguido de la palabra y la ruta del directorio, por ejemplo grep -Rn host /etc. La opción -R recorre subdirectorios y -n muestra el número de línea.
¿Cómo muestro solo los nombres de los ficheros que contienen una cadena?
Con la opción -l, por ejemplo grep -Rl host /etc, que muestra únicamente los ficheros coincidentes.
¿Cómo excluyo las líneas que contienen una letra con grep?
Con la opción -v. El ejercicio grep -Riv a listado.txt muestra las líneas que no contienen la letra a, sin distinguir mayúsculas.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.