Curso sobre comandos de linux
📥 Preparación del entorno
1️⃣ Descargar El Quijote desde Gutenberg
1wget https://www.gutenberg.org/files/2000/2000-0.txt -O quijote.txt
2️⃣ Comprobar contenido
1less quijote.txt
📌 MÓDULO 1 — grep básico (sin regex)
🔹 ¿Qué es grep?
grep busca líneas que contienen un texto patrón.
1grep "Quijote" quijote.txt
👉 Muestra todas las líneas donde aparece la palabra Quijote.
🔹 Ignorar mayúsculas/minúsculas
1grep -i "quijote" quijote.txt
🔹 Contar ocurrencias
1grep -c "Quijote" quijote.txt
🔹 Mostrar número de línea
1grep -n "Sancho" quijote.txt
🧠 Ejemplos
- Busca líneas con la palabra
caballero
1grep "caballero" quijote.txt
- Cuenta cuántas veces aparece
Dulcinea
1grep -c "Dulcinea" quijote.txt
- Busca
Rocinanteignorando mayúsculas
1grep -i "rocinante" quijote.txt
📌 MÓDULO 2 — Regex básicos
Activamos regex extendidas con
-E
1grep -E "patrón" archivo
🔹 El punto .
Coincide con cualquier carácter
1grep -E "Don.Q" quijote.txt
✔ Coincide con Don Quijote, Don-Quijote, etc.
🔹 Clases de caracteres []
1grep -E "c[ao]sa" quijote.txt
✔ Coincide con casa y cosa
🔹 Rangos
1grep -E "[A-Z][a-z]+" quijote.txt
✔ Palabras que empiezan por mayúscula
🧠 Ejemplos
- Busca palabras que empiecen por
Qmayúscula
1grep -E "\bQ[a-zA-Z]*\b" quijote.txt
- Busca
Sanchoseguido de cualquier carácter
1grep -E "Sancho." quijote.txt
- Encuentra palabras que contengan
ll
1grep -E "\b[a-zA-Z]*ll[a-zA-Z]*\b" quijote.txt
📌 MÓDULO 3 — Cuantificadores
🔹 * (0 o más)
1grep -E "sanch.*" quijote.txt
🔹 + (1 o más)
1grep -E "ll+" quijote.txt
✔ ll, lll, etc.
🔹 ? (0 o 1)
1grep -E "caballer?o" quijote.txt
✔ caballero / caballeroo
🔹 {n,m}
1grep -E "[0-9]{4}" quijote.txt
✔ Números de 4 cifras
🧠 Ejemplos
- Busca palabras con 3 letras iguales seguidas
1grep -E "\b([a-zA-Z])\1\1\b" quijote.txt
- Encuentra números de 2 o 3 cifras
1grep -E "\b[0-9]{2,3}\b" quijote.txt
- Busca palabras con
rr
1grep -E "\b[a-zA-Z]*rr[a-zA-Z]*\b" quijote.txt
📌 MÓDULO 4 — Anclas
🔹 Inicio de línea ^
1grep -E "^Capítulo" quijote.txt
🔹 Final de línea $
1grep -E "fin.$" quijote.txt
🧠 Ejemplos
- Líneas que empiezan por
Don
1grep -E "^Don" quijote.txt
- Líneas que terminan en punto
1grep -E "\.$" quijote.txt
- Líneas vacías:
1grep -E "^$" quijote.txt
📌 MÓDULO 5 — Palabras completas
🔹 Límite de palabra \b
1grep -E "\bpan\b" quijote.txt
✔ No coincide con panza
🧠 Ejercicios
- Busca la palabra exacta
rey
1grep -E "\brey\b" quijote.txt
📌 MÓDULO 6 — Alternativas y grupos
🔹 Alternativa |
1grep -E "Sancho|Quijote" quijote.txt
🔹 Grupos ()
1grep -E "(Don|San) [A-Z][a-z]+" quijote.txt
✔ Don Quijote, San Pedro, etc.
🧠 Ejercicios
- Busca
DonoDoña
1grep -E "\b(Don|Doña)\b" quijote.txt
- Busca nombres propios
1grep -E "\b[A-Z][a-záéíóúñ]{2,}\b" quijote.txt
📌 MÓDULO 7 — Filtrado avanzado
🔹 Excluir líneas
1grep -v "Quijote" quijote.txt
🔹 Encadenar con | (pipes)
1grep -i "sancho" quijote.txt | grep -i "panza"
🔹 Contar patrones complejos
1grep -Eo "\b[A-Z][a-z]{5,}\b" quijote.txt | wc -l
📌 MÓDULO 8 — Ejemplos
📝 Ejercicio 1
Mostrar líneas que empiezan por mayúscula y terminan en punto
1grep -E "^[A-Z].*\.$" quijote.txt
📝 Ejercicio 2
Encontrar palabras de más de 10 letras
1grep -Eo "\b[a-zA-Z]{10,}\b" quijote.txt
📝 Ejercicio 3
Contar cuántas veces aparece un nombre propio
1grep -Eo "\bSancho\b" quijote.txt | wc -l