Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

03-Comandos linux 3 - Parte 3/3 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 31 de diciembre de 2022 por Fernando Jesús H.

34 visualizaciones

Descargar la transcripción

vamos a empezar explicando que son las expresiones regulares y las aplicamos al 00:00:00
comando grep entonces voy poniendo aquí lo que me interesa 00:00:06
vale entonces que son las expresiones regulares os acordáis que cuando 00:00:13
nosotros hacíamos un ls y poníamos un asterisco o poníamos una interrogación 00:00:18
entonces le estábamos diciendo que tenía que coincidir 00:00:23
vale decir hay ciertos caracteres que se representaban de una manera especial 00:00:26
Como por ejemplo el asterisco que quería decir cualquier combinación de caracteres, 0, 1 más, y la interrogación que quería decir en este caso cualquier carácter cuando hacíamos el comando ls. 00:00:30
Entonces aquí una expresión regular lo que nos está diciendo que es un conjunto de caracteres que se utilizan para que coincida con una serie de patrones. 00:00:44
Por ejemplo, Fernando asterisco. Pues tiene que coincidir que tiene que ser Fernando y luego cualquier combinación de teclas, de caracteres. 00:00:56
Como hemos dicho, el asterisco y la interrogación tienen un significado especial. 00:01:09
Pues obviamente hay caracteres que tienen significados especiales cuando se utilizan dentro de las expresiones. 00:01:13
Y nosotros vamos a ver que hay unas expresiones básicas y hay unas expresiones extendidas. 00:01:20
Son diferentes caracteres que me van a funcionar en unas y en otras. 00:01:27
Te dicen que aunque no es necesario ponerlo entre comillas simples, pues que es una buena práctica que lo hagáis. 00:01:32
Para evitar que el CEL lo reconozca o lo pueda interpretar como caracteres diferentes a los que están dentro de las expresiones regulares. 00:01:41
Vamos a empezar por las expresiones regulares básicas. 00:01:53
Empiezo por el punto. 00:01:57
Un punto. ¿Qué quiere decir en este caso un punto? 00:02:01
Representa cualquier carácter. 00:02:06
Uno. Cualquier carácter. ¿Sí? Entonces, si yo, por ejemplo, le digo el A punto punto, quiere decir que la expresión va a coincidir con una letra A seguida de cualquier carácter, ¿vale? 00:02:08
Y seguida de cualquier carácter. Es decir, cuando yo quiera indicar que, por ejemplo, sea fer y luego después de fer haya un carácter cualquiera, tengo que poner un punto. 00:02:28
cuando nosotros teníamos el ls era una interrogación aquí es un punto si nosotros 00:02:42
también podemos poner el abre y cierra vale esto es el abre y el cierra corchetes si eso 00:02:49
¿Para qué? Pues en este caso, para decirle que coincida con los contenidos, con los caracteres que hay contenidos dentro del abre y cierra corchetes, ¿sí? 00:03:03
Entonces, yo dentro del corchete voy a poner una lista o un rango de caracteres, ¿vale? Una lista o un rango. 00:03:18
La lista, pongo todos los caracteres juntos. A, B, C, D, ¿vale? O A, E, I, O, U. Pero si quiero indicar un rango, tengo que poner un guión, ¿vale? No sé si lo veis aquí. Tengo que poner un guión. 00:03:27
Bien, es decir, que pongo un rango empezando por el carácter menor, porque sigue el estándar ASCII, tienen que estar en orden correcto, ¿vale? No vale que yo ponga D-A, tiene que ser ascendente A-D. 00:03:42
Quiere decir que cualquier letra, que sea o la A o la B o la C o la D, eso es lo que quiere decir, ¿vale? Y para eso tengo que poner entre corchetes, ¿de acuerdo? ¿Sí? 00:03:59
Entonces, o pongo un conjunto de caracteres en el orden que me la gana, es decir, A, J, L, M, X, 3, 8, 7, o si es un rango que está seguido, pongo el primer carácter, un guión y el último, siempre en orden. 00:04:11
¿De acuerdo? Pero aquí hay una aclaración y es este carácter que os pongo aquí, ¿vale? El gorrito que hay. Si yo pongo dentro del rango, si ese rango empieza por este gorrito, estoy aquí abajo ahora, fijaros que aquí empieza por un gorrito. 00:04:28
¿Qué quiere decir? Quiere decir que esa expresión es lo que no es ni A, ni B, ni C. Es decir, es la negar. Es negar el conjunto de caracteres que yo ponga entre el abre y cierra corchetes. 00:04:52
Es decir, que no sea ninguno de la lista, ¿sí? Que no sea ni A, ni B, ni C, ¿sí? Para eso ponemos dentro de los corchetes el primer carácter que sea el gorrito, ¿de acuerdo? ¿sí? 00:05:07
Vale, vamos a ver otros. El siguiente es el asterisco, y el asterisco va a tener el mismo significado que teníamos, pero cuidado, porque fijaros que me dice el carácter anterior, carácter anterior repetido cero o más veces, ¿sí? 00:05:25
Por ejemplo, si yo pongo aquí una D y un asterisco, quiere decir que el carácter D va a poder estar repetido cero una o más veces. 00:05:49
Cero en cero una o más veces. 00:06:03
Es decir, es el asterisco, pues el carácter que está delante de él, repetido cero una o más veces. 00:06:07
¿Sí? Y luego tenemos estos dos. Que esto no es dentro del rango que hemos visto antes, es simplemente dentro de la expresión regular. 00:06:14
Si yo pongo un gorrito, quiere decir que todo lo que yo ponga en esa expresión, quiere decir que la línea tiene que empezar por. 00:06:27
La línea tiene que empezar por... 00:06:36
Si yo pongo, por ejemplo, aquí el gorrito y una A, le estoy diciendo que la línea tiene que empezar por una A. 00:06:40
Esto es para indicar todo lo que empiece por. 00:06:50
Y el dólar es para indicar todo lo que termine por. 00:06:53
Si yo le pongo aquí el C y le pongo un dólar, le estoy diciendo que la línea tiene que terminar por una C. 00:06:56
¿Sí? 00:07:05
Entonces tenemos estas expresiones que nosotros podemos utilizar. 00:07:06
Pues me voy a ir al comando grep, que es el que vamos a ver. 00:07:12
Ahora voy a ir con las expresiones que me faltan, las expresiones extendidas. 00:07:16
Ahí me faltaba esto, perdóname. 00:07:20
Pero antes de empezar con las expresiones extendidas voy a empezar con las regulares. 00:07:22
Me queda aquí dos, que me faltaban estos dos. 00:07:28
Si yo quiero decirle que empieza por o termina por una palabra, 00:07:31
¿Vale? Fijaros que me dice para coincidir al principio o al final de una palabra 00:07:36
¿Vale? Ahora vamos a hacer ejemplo y lo vais a entender todo esto 00:07:45
O yo le puedo decir entre llaves una let un número 00:07:48
¿Vale? Para indicar por ejemplo que quiero que se repita dos veces 00:07:52
Entonces yo puedo decir C y pongo abre y cierra y pongo un 2 00:07:58
Quiere decir que esa C tiene que aparecer dos veces 00:08:02
Y por último me dice que si quiero buscar un carácter especial lo que debemos hacer es caparlo 00:08:05
Que esto ya nos tiene que sonar, que esto es de capar 00:08:15
Y para capar algo en Linux lo que vamos a hacer es preceder el carácter que queremos capar de la barra invertida 00:08:18
Vamos a hacer ejemplos para que veamos cómo funciona esto 00:08:25
y para eso vamos a ver el comando grep 00:08:34
entonces para utilizar el comando grep me voy a ir a 00:08:38
y escanea veral y habíamos creado aquí una carpetita que se llamaba viernes 00:08:43
y en esta carpetita tenemos 00:08:48
este ficherito que ya estábamos trabajando con él en estos días 00:08:52
¿Sí? Entonces tenemos este ficherito alumnos centro punto txt. ¿Lo veis? ¿Sí? Vale. ¿Cómo le puedo yo decir que quiero que me muestre no todo el contenido de este fichero, sino que solo quiero que me muestre las líneas que coinciden con un patrón que yo quiero decirle? 00:09:00
Un patrón es algo que yo quiero buscar, que es lo que estamos haciendo con una expresión regular. 00:09:24
Pues vamos a utilizar el comando grep. 00:09:29
¿Cómo funciona el comando grep? 00:09:32
El comando grep le tengo que pasar qué es lo que quiero que me busque. 00:09:34
Es decir, por ejemplo, yo le voy a poner, oye, quiero que me busques, por ejemplo, pues yo qué sé, smrb. 00:09:39
Uno, smrb. 00:09:48
¿Sí? 00:09:50
Y ahora le tengo que decir cuál es el fichero en el que quiero que me lo busque. Pues le voy a decir alumnos dentro. ¿Y qué es lo que me ha devuelto? ¿Qué es lo que me ha hecho esto? Me ha ido recorriendo línea a línea. 00:09:50
¿Sí? Es decir, lo que me ha ido haciendo es, me va la primera línea, me dice, oye, ¿hay en esta primera línea esto de aquí, 1SMRB? 00:10:05
Si la respuesta es que no, no me la muestra. 00:10:20
Siguiente línea, oye, ¿hay aquí 1SMRB? No, pues no me la muestra. 00:10:23
Va en la siguiente, 1SMRB, no me la muestra. 00:10:29
va a la siguiente aparece un smrb no me la muestra vale y aquí va viendo no me la muestra está no me 00:10:32
la muestra siguiente línea está no me la muestra siguiente línea está no no me la muestra y ahora 00:10:41
me voy a la siguiente y me dice oye en esta línea aparece un smrb pues efectivamente y me la muestra 00:10:46
¿Sí? ¿Lo veis? Entonces solo me muestra aquellas líneas del fichero o ficheros que yo le indique donde aparece la cadena que yo le quiero decir. 00:10:57
¿Sí? ¿Me seguís? Vale. Si yo le digo, vamos a hacer otro ejemplo, si yo le digo que me muestres un SMR, pues fijaros que me muestra todas las líneas donde aparece un SMR. 00:11:09
¿Sí? ¿De acuerdo? Vale, vamos a ir probando las expresiones regulares. Vamos a empezar por el punto. Vamos a suponer que yo quiero que me muestre todas las líneas donde aparece, en este caso, un 1, luego cualquier carácter y luego, por ejemplo, un 8. 00:11:25
Entonces, ¿qué es lo que le voy a decir? 00:11:53
Oye, quiero que me aparezca un 1 00:11:56
Luego cualquier carácter 00:11:58
¿Cómo le digo cualquier carácter? 00:11:59
Le pongo un punto 00:12:00
Y luego que me aparezca un 8 00:12:01
Eso es lo que le estoy diciendo 00:12:04
Le estoy diciendo, búscame todas las líneas 00:12:06
Donde me aparece un 1 00:12:08
Luego cualquier carácter 00:12:11
Y luego un 8 00:12:14
Pues fijaros 00:12:16
¿Qué es lo que me devuelve? 00:12:18
Un 1 cualquier carácter y un 8 00:12:20
Un 1 cualquier carácter y un 8 00:12:27
Un 1 cualquier carácter y un 8 00:12:29
¿De acuerdo? 00:12:31
Entonces ahí ya vemos para qué sirve el punto 00:12:34
Para indicar cualquier carácter 00:12:37
¿Sí? 00:12:41
Si yo le digo 00:12:41
Oye, que quiero que sea cualquier carácter 00:12:44
Cualquier carácter 00:12:47
Y un 2 00:12:50
Pues fijaros 00:12:51
Que me está mostrando un 1, dos caracteres cualesquiera y un 2 00:12:54
Un 1, dos caracteres cualesquiera y un 2 00:13:00
Un 1, dos caracteres cualesquiera y un 2 00:13:02
¿De acuerdo? ¿Sí? 00:13:05
El siguiente era un rango 00:13:08
Yo le puedo decir, oye, quiero que me busques 00:13:10
Todas las líneas del fichero y le voy a poner un rango 00:13:14
¿Cómo le pongo un rango? Entre abre y cierra 00:13:18
Y le digo, oye, quiero que sea, por ejemplo, yo qué sé, quiero que sea una B, una F o una G o una A, seguido de, yo qué sé, que me lo estoy inventando, de esto. 00:13:21
Entonces, ¿qué le estoy diciendo? Oye, quiero que me busques todas las líneas que contengan o una B, o una F, o una G, o una A, seguido de una D 00:13:41
Pues fijaros que la única que me he encontrado es esta 00:13:53
Voy a mostrar un momentito el fichero y vamos a hacer un ejemplo 00:13:55
Por ejemplo, le voy a decir que quiero que me muestre todas las líneas que sean una A, una R o una P, seguido de una B, ¿vale? 00:14:01
entonces, ¿qué le estoy diciendo? 00:14:50
le estoy diciendo 00:14:53
oye, quiero que me busques 00:14:54
todas las líneas que contengan 00:14:57
o una A o una R o una B 00:14:59
seguido de una B, es decir 00:15:01
RB lo cumple 00:15:03
porque es o una A o una R 00:15:05
una P seguido de una B, perfecto 00:15:07
A y una B 00:15:09
perfecto, A y una B 00:15:11
y perfecto, A y una B 00:15:13
entonces aquí tenemos todo lo que cumple 00:15:15
¿sí? 00:15:17
¿De acuerdo? ¿Sí? Vale. 00:15:20
¿Qué es lo que le puedo decir? 00:15:28
Oye, quiero que me digas que sea una R o un 1 o un 2, seguido de una L. 00:15:29
Y que sea o una A o un 1. 00:15:51
¿Qué me devuelve esto? 00:15:55
Dice, oye, ¿qué es lo que quiero? 00:15:58
digo que sea o una r o una l vale entonces aquí tenemos una l aquí tenemos una l aquí tenemos una 00:16:00
r perfecto una l una r vale una l una l es decir me está buscando todo lo que sea o una r o una 00:16:10
l perfecto y seguido de que y seguido de una a o de una o de un 1 pues aquí 00:16:21
seguido de un 1 perfecto seguido de una perfecto seguido de una perfecto si 00:16:32
entendéis para qué es un rango sí qué es lo que le puedo decir también 00:16:37
Oye, búscame todo lo que sea del 0 al 9, es decir, búscame todos los caracteres, ¿sí? 00:16:46
Seguido de una arroba y yo qué sé. 00:17:01
Aquí me va a devolver todo, a ver que me ponga yo por aquí. 00:17:08
Y seguido de 19, 19. 00:17:11
Seguido de, por ejemplo, 3 caracteres y un 8 00:17:15
Le voy a decir esto de aquí 00:17:41
¿Qué me devuelve? 00:17:44
Le estoy diciendo, oye, quiero que sea un número del 0 al 9 00:17:45
De forma que un número del 0 al 9 00:17:49
Me está dando un 1, un 5, un 0, un 6, es decir, cualquier número del 0 al 9, un rango, por eso pongo un guión, seguido de tres caracteres, seguido de tres caracteres, 1, 2 y 3. 00:17:53
1, 2 y 3 00:18:14
1, 2 y 3 00:18:16
1, 2 y 3 00:18:19
¿Vale? Me vais viendo 00:18:21
Y seguido de un 8 00:18:22
¿Sí? 00:18:26
Seguido de un 8 00:18:29
Pues seguido de un 8, seguido de un 8, seguido de un 8 00:18:30
Seguido de un 8 y seguido de un 8 00:18:33
¿De acuerdo? 00:18:35
Entonces yo ya puedo juntar el punto con el rango 00:18:37
¿Sí? 00:18:42
¿Y qué pasa si le digo todo lo que no sea un carácter? Pues si yo le pongo la virgulilla, le estoy diciendo que todo lo que no sea un carácter, 00:18:42
Entonces, todo lo que no sea del 0 al 9, así que todo lo que no sea del 0 al 9 va a ser una D, una N, seguido de tres caracteres, 1, 2 y 3, 1, 2 y 3, y seguido de un 8, y seguido de un 8. 00:18:54
Pues aquí tenemos seguido de un 8 y seguido de un 8, ¿de acuerdo? 00:19:20
Entonces, si yo quiero que sea lo que no sea un carácter del 0 al 9, pues tengo que poner dentro, ¿vale? 00:19:26
Dentro del rango tengo que empezar por el gorrito, ¿de acuerdo? 00:19:34
Y es lo contrario de, ¿sí? 00:19:39
Hemos visto el punto y hemos visto el rango. 00:19:43
Ahora nos queda el asterisco. 00:19:45
¿Qué quiere decir el asterisco? 00:19:47
Imaginaros que yo tengo 00:19:49
Le decimos otra vez esto para que yo vea lo que hay 00:19:50
E imaginaros que nosotros le decimos 00:19:54
Quiero que me busques 00:19:56
Y le voy a decir 00:19:58
Que me aparezca la letra A 00:19:59
Repetida cero, una o más veces 00:20:04
¿Sí? 00:20:08
¿Qué pensáis que me va a devolver esto? 00:20:10
Me devuelve 00:20:16
¿Vale? 00:20:17
Fijaros que todas las líneas, pero quiero que, por ejemplo, es que quiero buscar una. 00:20:19
Vale. 00:20:25
En lugar de la A voy a poner una X. 00:20:26
¿Y por qué me devuelve todas las líneas? 00:20:31
Fijaros que me devuelve esta línea. ¿Por qué? 00:20:34
¿Cuántas veces me aparece la X? 00:20:36
Ninguna. 00:20:38
Entonces es la X repetido cero, esto lo cumple, una o más veces. 00:20:39
¿Me seguís? 00:20:46
entonces, cuidado con el poner el asterisco 00:20:47
porque el asterisco es 0, 1 o más 00:20:52
si queréis decirle que aparezca la letra X por lo menos una vez 00:20:55
yo pongo en este caso X y luego X asterisco 00:21:00
para decirle, oye, quiero que me aparezca una X 00:21:04
y luego me aparezca una X 0, 1 o más veces 00:21:07
con eso le estoy diciendo que al menos me aparezca una 00:21:11
¿de acuerdo? 00:21:13
Yo también le puedo decir que me muestre todas las líneas 00:21:16
Y le pongo aquí del 4 al 6 00:21:22
Y que me aparezca repetido 0 una más veces 00:21:27
Entonces fijaros que como le he dicho 0 una más veces 00:21:35
Le he cagado, porque aquí es 0 00:21:40
¿Sí? Del 4 al 6, aquí no hay ni 4 ni 6 00:21:42
¿Que yo le puedo decir esto? Sí, perfectamente 00:21:47
Le digo, oye, quiero que me aparezca del 4 al 6 una vez por lo menos 00:21:50
Y luego, repetido, 0 una más veces 00:21:57
¿Vale? Pues me aparece el 4 y el 6, me aparece el 5, me aparece 00:22:01
¿Me seguís? 00:22:06
Entonces siempre que queráis decirle repetido 0, 1 o más veces 00:22:08
El carácter anterior, es decir, siempre va a ser lo que hay anterior al asterisco 00:22:13
Lo que hay al anterior repetido 0, 1 o más veces 00:22:19
¿Sí? 00:22:22
Vale, ¿qué es lo que me queda? 00:22:25
¿Cómo le puedo decir yo que me muestre todas las líneas que empiezan por una A? 00:22:27
Pues si yo le quiero decir todas las líneas que empiezan por una A 00:22:32
Lo que le pongo es el gorrito 00:22:35
y le digo, uy, perdón, y le pongo una A, ¿qué me hace esto? 00:22:38
Me muestra todas las líneas que empiezan por una A. 00:22:44
¿Qué le quiero decir que me muestren todas las líneas que empiezan por una A o por una V? 00:22:47
Pues me muestran las líneas que empiezan por una A o una V, ¿sí? 00:22:54
¿Cómo le puedo decir las líneas que me terminen por un 3, por ejemplo? 00:22:59
pues siempre va a ser en este caso un 3 y un dólar para decirle tiene que terminar con un 3 00:23:03
si yo le doy, lo he puesto bien, un segundo que no sé que estoy poniendo mal aquí 00:23:11
vale una cosita, no me estaba saliendo porque como copié el ficherito de Windows 00:23:29
no tenía convertido los saltos de carro porque son diferentes, los trata diferente en Windows y Linux 00:23:50
Cuidado cuando copiéis, ¿vale? Entonces, o una de dos, o hacéis el ficherito aquí a pelo, el nanoalumno, ¿de acuerdo? Porque repito, aquí al final, como lo copiéis de Windows, el intro de Windows es diferente al intro de Linux, ¿de acuerdo? 00:23:57
Entonces, cuidado con copiarlo, ¿de acuerdo? 00:24:17
Porque os va a meter dos caracteres especiales. 00:24:20
Entonces, por eso no me encontraba. 00:24:23
¿Sí? 00:24:26
Vale, entonces, una vez que... 00:24:28
Porque he vuelto a crear el ficherito, ¿vale? 00:24:31
El ficherito, pero no lo he copiado de Windows. 00:24:33
Cuidado cuando lo copiéis. 00:24:36
Entonces, fijaros qué hace este comando. 00:24:38
Yo en este comando le he dicho, oye, quiero que me muestre todas las líneas que terminan por una C. 00:24:40
Entonces, fijaros que me está mostrando todas las líneas que terminan por una C 00:24:45
¿Sí? 00:24:50
Oye, quiero que me busques todas las líneas que terminan, en este caso, por un 1 o por una C 00:24:52
Pues me va a mostrar todas las líneas que terminan por un 1 o por una C 00:24:58
¿Sí? 00:25:03
Pero también lo puedo combinar 00:25:04
Oye, quiero que me muestre todas las líneas que empiezan por una A 00:25:06
Que empiezan por una A 00:25:10
y que terminen por uno C. 00:25:17
Pero, ¿por qué aquí no me aparece nada? 00:25:20
¿Qué le estoy diciendo con esto? 00:25:24
Que tiene que empezar por un A, 00:25:25
y después del A me tiene que aparecer un 1 y una C. 00:25:28
Me explico. 00:25:32
Si yo edito el fichero, 00:25:34
voy a añadir A, C, y ya está. 00:25:39
Pongo uno C, por ejemplo. 00:25:45
Si yo le digo esto, 00:25:48
que empieza por una A y que termine por una C, que lo he puesto mal, es AC, que empieza por una A y, por ejemplo, AC. 00:25:51
Entonces, si yo le digo este, me lo muestra. Es decir, le estoy diciendo aquí que tiene que empezar por una A y después de la A tiene que aparecer o un 1 o una C y ya está. 00:26:11
Eso es lo que le estoy diciendo, por eso no me ha encontrado nada 00:26:21
¿Cómo le puedo decir todas las líneas que empiezan por una A 00:26:24
Que luego haya cualquier cosa y que terminen por una C? 00:26:27
Pues yo le puedo decir, oye, quiero que empiecen por A 00:26:31
Hasta aquí bien 00:26:34
Después de la A, tiene que haber cualquier carácter 00:26:35
Pero cualquier carácter repetidas las veces que le dé la gana 00:26:39
Pues para eso le ponemos un punto interrogación, o sea, asterisco 00:26:44
¿Qué le estoy diciendo con eso? 00:26:48
Cualquier carácter repetido cero o más veces 00:26:50
Entonces si yo le doy 00:26:53
Fijaros que ahora me dice 00:26:56
Oye, la letra A empieza por A y termina por C 00:26:58
Empieza por A y termina por C 00:27:02
Y empieza por A y termina por C 00:27:04
Perfecto 00:27:07
¿Sí? 00:27:08
Entonces quiero que lo veáis 00:27:09
Yo aquí 00:27:10
Empieza por A 00:27:13
Seguido, ¿vale? 00:27:16
Esto empieza por A, seguido de, por ejemplo, este de aquí, de 0, 1 o más, 1C hasta aquí, este es hasta aquí, y este de aquí no tiene nada, porque 0, 1 o más, es 0, 1 o más, ¿sí? 00:27:19
Y seguido en este caso de, espérate que no lo hemos seleccionado, esto es 0, 1 o más, seguido de 1, 1, 1, 11 y así termina la cadena. 00:27:42
Así que seguido de 1, 1, 11, seguido de 1, 1, 11 y seguido de 1, 1, 11 y termina. 00:28:02
Entonces, se utiliza mucho el un punto asterisco para indicar cualquier carácter repetida cero, una o más veces. 00:28:09
¿De acuerdo? ¿Sí? ¿Sí? Vale. 00:28:19
Voy a utilizar otro ficherito, por ejemplo, no sé si teníamos aquí... 00:28:25
A ver... Vale, voy a utilizar este ficherito de puntuación. 00:28:34
Sí, voy a utilizar este. 00:28:52
este lo teníamos en otro vídeo 00:28:54
¿qué pasa si yo le quiero decir que me busque 00:28:59
todas las palabras? 00:29:01
voy a editarlo 00:29:03
porque voy a cambiar algunas cositas 00:29:04
y voy a añadir aquí 00:29:06
pongo aquí Carolina está aquí 00:29:09
y le pongo aquí 00:29:18
anatomía 00:29:21
y pongo aquí 00:29:29
o lana 00:29:31
¿Sí? ¿De acuerdo? Estoy poniendo aquí para hacer ejemplos 00:29:35
Tenemos este ficherito 00:29:47
Si yo le digo que me busque, le digo, oye, quiero que me busques todos los sitios donde aparece Ana 00:29:50
Del ficherito puntuación 00:29:59
Y obviamente me muestra todos los ficheritos donde me aparece Ana 00:30:02
¿Sí? Pero, ¿y cómo le puedo decir yo que, por ejemplo, empiece, es decir, que sea una palabra que empiece por Ana? 00:30:07
Que sea una palabra que empiece por Ana. ¿Cómo lo hacemos? Pues, en lugar de decirle que me busque Ana, 00:30:19
para decirle que sea una palabra, una palabra que empiece por, lo que vamos a utilizar es el mayor. 00:30:27
Pero como el mayor es un carácter especial, lo que tenemos que hacer es caparlo. Entonces, ¿qué le estoy diciendo con esto? Fijaros que quiero que veáis lo que me ha mostrado. Fijaros que si le digo que me busque Ana, me ha buscado todo esto, ¿sí? 00:30:35
Pero como yo le he dicho aquí que quiero que me busque las palabras que empiezan por Ana, esta sí que es correcta porque empieza por Ana. Esta empieza por Ana, es una palabra, pero esto no es una palabra que empiece por Ana, de forma que esto no me lo muestra, ¿sí? 00:30:50
En la siguiente, que sí que empieza por ana, también me lo muestra, ¿sí? 00:31:11
Entonces, ¿veis que me pone holana? Holana no me la muestra porque no es una palabra que empiece por. 00:31:18
Pero, ¿y qué pasa si yo le digo que en lugar de que empiece la palabra, que termine la palabra? 00:31:24
Pues, para decirle que termine la palabra, le pongo al final de la palabra este. 00:31:30
Entonces, fijaros que ahora me dice, oye, no que empiece, sino que termine. 00:31:35
Pues esta termina por ana, es una palabra que termina por ana, es una palabra que termina por ana y es una palabra que termina por ana. Pero anatomía no termina por ana. ¿Me seguís? 00:31:40
Y si yo quiero buscar una palabra exactamente la palabra ana, yo le puedo decir, oye, quiero que empieces y termines por ana, así que me busca dónde está ana. La palabra ana, que empieza y termina, ¿vale? Es decir, exactamente la palabra ana. ¿De acuerdo? 00:31:52
¿sí? Y ahora, ¿cómo le puedo decir yo? Me voy otra vez al de antes, alumnos. ¿Cómo le puedo decir yo que me busque las líneas 00:32:10
que contienen el número, por ejemplo, 9 repetido dos veces? Pues yo le puedo decir, oye, quiero que me busques, en este caso, el número 9 00:32:23
y ahora le voy a poner entre llaves el número de veces que quiero que se repita y le digo de 00:32:35
alumnos de forma que un segundo de forma que vale lo tenéis que capar porque son caracteres 00:32:43
especiales en de forma que que le estoy diciendo aquí le estoy diciendo oye quiero que me busques 00:32:55
es el carácter 9 pero quiero que aparezca repetido dos veces así que fijaros 2 2 2 2 2 2 y 2 00:33:03
me seguís yo con esto le puedo decir cuántos cuántas veces quiero que se me repita un número 00:33:21
¿De acuerdo? ¿Sí? 00:33:31
Vamos a ver ahora las expresiones regulares extendidas 00:33:35
Entonces os muestro la transparencia 00:33:39
Y vamos a ver aquí las expresiones regulares extendidas 00:33:42
Es decir, las expresiones regulares extendidas me ofrecen 00:33:47
Un conjunto más amplio de caracteres especiales 00:33:49
Para que yo pueda jugar mejor con ellos 00:33:54
¿Vale? 00:33:55
Entonces, antiguamente se utilizaban varios comandos 00:33:57
como el grep o el f grep vale ahora siempre ha existido esta opción pero bueno por eso la muestro 00:34:01
aquí vale ahora se utiliza si queréis utilizar con el grep las expresiones extendidas tenéis 00:34:09
que utilizar el parámetro guión y mayúscula mayúscula vale si yo utilizo el e mayúscula 00:34:17
voy a poder utilizar la interrogación, el más y la barra vertical. 00:34:24
¿Qué quiere decir la interrogación? 00:34:30
La interrogación quiere decir un carácter, solo uno, ¿vale? 00:34:32
Cero o una vez, es decir, algo opcional. 00:34:37
¿Qué le estoy diciendo aquí? 00:34:41
Me digo, oye, quiero que me busques lo que contiene color 00:34:43
y luego que puede o que no puede que haya un carácter seguido de una R. 00:34:46
Así que, obviamente, el que me va a aparecer el carácter anterior, ¿eh? 00:34:54
Entonces, de esta manera, le estoy diciendo que la U puede ser opcional o no. 00:35:00
Eso es lo que le estoy diciendo, ¿vale? 00:35:06
Cero o una veces. 00:35:08
El carácter anterior, cero o una más. 00:35:09
Cero o una, no cero más, perdón. 00:35:12
Cero o una vez. 00:35:15
Es decir, es un carácter opcional, que puede estar o que no puede estar. 00:35:15
De forma que colo seguido de cero o más una U. 00:35:19
si puedo poner un más y el más que quiere decir esto es como el asterisco lo que pasa que el 00:35:24
problema por decirlo de alguna manera que tenía el asterisco es que era cero o más pues resulta 00:35:31
que el más quiere decir una o más veces es decir la tecla d vale repetida una o más veces 00:35:36
entonces en lugar de poner como lo poníamos antes con el asterisco de y luego de asterisco pues 00:35:47
esto se soluciona poniendo de y un más diciendo oye tiene que aparecer por lo menos una vez y 00:35:53
luego ya las veces que te dé la gana sí y si estamos utilizando las expresiones extendidas 00:35:58
puede utilizar la barra vertical para indicar uno que quiere decir este ejemplo de aquí le 00:36:04
estoy diciendo quiero que me busque las líneas que contienen gray o grey entonces me va a buscar 00:36:09
todas las líneas donde aparece gray o donde aparece gray. ¿De acuerdo? ¿Sí? Vale. Si estoy utilizando 00:36:15
expresiones regulares, ¿os acordáis que yo podía poner entre corchetes el número de veces que quiero 00:36:24
que se me repita? Pues aquí igual, puedo poner el número de veces que quiero que se repita, pero 00:36:30
además voy a poder poner un n y una coma para decirle que aparezca n o más veces si pongo una 00:36:36
coma y un m quiere decir que como mucho m veces y si quiero decir aquí por ejemplo 5 y 8 que 00:36:47
aparezca entre 5 y a lo máximo 8 veces pues pongo n coma m vale 5,8 puedo especificar un rango de 00:36:54
Vamos a ver los ejemplos. Si nosotros nos vamos aquí a las expresiones regulares extendidas, ponemos grep menos e y por ejemplo le vamos a decir que quiero que me busque, esperaros que para que haga ejemplo, vamos a decirle por ejemplo quiero que me muestres. 00:37:03
Voy a utilizar expresiones extendidas y le voy a decir que quiero que me aparezca, por ejemplo, que sea una A, seguido de una Z, pero de manera opcional, y seguido de una C o una O. 00:37:35
A ver qué nos muestra. 00:38:02
Le digo, a ver, me voy aquí. Tiene que ser una A. Y aquí empieza por una A, ¿verdad? 00:38:10
Seguido opcionalmente de una Z. Opcional quiere decir que no la hay. Seguido de una C, una A. Pues perfecto. 00:38:17
A C es opcional porque la Z no está. Es opcional. Aquí una A seguido de una Z, seguido de una O. Perfecto. 00:38:22
Y aquí una A seguido de nada porque la Z es opcional, seguido de una C. ¿Sí? 00:38:30
Entonces, la interrogación es para decirle que el carácter que hay delante es opcional. 00:38:36
Le puedo decir, oye, quiero que me busques todas las líneas donde aparezca la letra A repetida, o por ejemplo, la letra V repetido una o más veces. 00:38:42
Fijaros que si yo le digo aquí un asterisco, son cero, y me muestra todas. 00:38:58
Si yo le digo que me aparezca al menos una vez, le pongo el más, ¿sí? 00:39:03
Y también le puedo decir que quiero que me busques, digo, oye, quiero que me busques todas las líneas donde aparece SMRC o SMRA. 00:39:10
y esto me falta ponerlo entre llaves 00:39:29
si lo he escrito mal, perdonadme 00:39:35
SMRC 00:39:43
y me muestra las líneas que contienen 00:39:45
o SMRC o SMRA 00:39:49
y entonces para eso tenemos el 00:39:52
el pipeline 00:39:54
la barra vertical 00:39:57
yo con esto puedo jugar y buscar todas las expresiones 00:39:59
regulares que a mí me dé la gana vale estoy oye quiero que me busques por 00:40:04
ejemplo vamos a hacer algún alguno que haya que pensar quiero que me busque 00:40:10
todos los alumnos que por ejemplo cuyo nombre empiece por una cuyo nombre 00:40:17
empiece por lo que no sea una vocal vale vamos a empezar por ahí vamos a 00:40:32
decirle quiero que me busques todo lo que no empieza por una vocal a e i o u y vamos a ver 00:40:40
si uy perdón si no lo he hecho el fichero y vamos a ver si esto no funciona y lo dicho mal que esto 00:40:53
tiene que estar dentro todo lo que no sea todo lo que no sea sí y le quiero decir que empiece 00:41:01
por, pues que empiece por. Así que esto me muestra todo lo que no empieza por una vocal, ¿vale? Este 00:41:08
quiere decir que empieza por y lo que hay dentro del rango, lo que no sea una vocal, ¿sí? Y tenemos 00:41:19
aquí todo lo que no empieza, ¿sí? Ahora, quiero que tenga, por ejemplo, pues yo qué sé, quiero que se 00:41:25
llame, por ejemplo, cuyo nombre empiece por una M o por una A, cuyo nombre empieza por 00:41:44
una M o por una A, ¿sí? Entonces, ¿qué le voy a decir? Digo, vale, estoy aquí, que 00:41:58
empieza por una letra, luego tengo que llegar hasta aquí. ¿Cómo le digo este rango? Digo, 00:42:04
Oye, pues mira, tiene que aparecer, por ejemplo, cualquier carácter repetido cero o una más veces, 00:42:11
seguido por almohadilla, seguido de cero o un más carácter, seguido de almohadilla. 00:42:23
Es decir, el primero sería este, el segundo sería este. 00:42:33
Y estoy ya en el nombre. 00:42:39
y seguido por, hemos dicho que empiece por una A o por una M, y lo probamos, y lo tenemos aquí, dice, oye, empieza por una A, quiero que lo veáis, empieza por una A o empieza por una M, empieza por una A o empieza por una M, ¿sí? 00:42:41
Entonces fijaros que esto se puede empezar a complicar todo lo que nosotros queramos 00:43:03
Y además quiero que sea del grupo dual 3 00:43:09
Pues como le digo que sea del dual 3 00:43:14
Pues le digo que después de esto haya 0 o más caracteres y que termine en dual 3 00:43:17
Y le pongo el dólar 00:43:26
Y aquí tenemos solamente las líneas que a mí me interesan 00:43:28
Que no empiece por una vocal, que el nombre empiece por una A o por una M, Marta y Alain, y que sean del grupo Dual3. 00:43:32
Y yo aquí puedo complicarlo todo lo que me dé la gana. 00:43:42
¿Sí? ¿De acuerdo? 00:43:46
Vale, pues vamos a ver del comando grep, porque ya sabemos cómo funciona, pero vamos a ver algunas funciones que nos pueden interesar. 00:43:49
Aquí sí que hay una aclaración que no hemos visto el rango. Voy a editar en este caso el nano alumnos y voy a poner aquí lo de hola, hola, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4 y 5. 00:43:57
Ahora, ¿qué pasa si yo le digo que me busque, en este caso, la letra A y le voy a poner aquí repetido tres veces? Pues me pone una, dos y tres. Repetido tres veces. 00:44:18
¿Qué pasa si yo le digo que aparezca como mucho tres veces? 00:44:38
Aquí fijaros que me pone como mucho porque me ha buscado dos veces, por eso me pone aquí, me pone esto, porque son 1, 2 y 3, y luego empieza 1, 2 y 3, y luego empieza 1, 2 y 3. 00:44:46
¿Qué pasa si yo le digo que quiero que me busque entre 2 y 3? Pues me busca entre 2 y 3. 00:44:59
O quiero que me busque entre 3 y 5. Pues entre 3 y, como mucho, 5. Pues me busca entre 3 y 5. Que sean más de 3. Pues que sean más de 3. ¿Vale? O sea, 3 o más, perdón. Pues yo le puedo poner un rango en el que quiero que me busque. ¿De acuerdo? 00:45:05
vale, pues lo dicho, vamos a ver 00:45:24
que opciones tenemos del comando 00:45:26
grep, que nos quedan por ver 00:45:28
entonces, aquí 00:45:30
cuando nosotros ponemos, veis que 00:45:32
nos aparece las cosas en color 00:45:34
porque directamente estamos 00:45:36
utilizando 00:45:38
el grep-color 00:45:39
para que los patrones que le encuentre 00:45:42
directamente me los 00:45:45
muestra en color, si 00:45:46
ejemplos que tenemos 00:45:48
aquí, fijaros que si yo 00:45:50
pongo el guion v 00:45:52
el guión v le estoy diciendo quiero que me busques lo que no coincide con el patrón lo que no coincide 00:45:53
con el patrón sí y sin utilizar las expresiones regulares si queréis buscar para que sea todo lo 00:46:02
que sea cat o todo lo que sea doc tenéis que poner la opción guión y esto para decirle quiero que me 00:46:10
busque esto o quiero que me busques esto las líneas que contienen o la e perdón o cat o la 00:46:15
líneas que contienen toc si estamos utilizando las expresiones regulares 00:46:22
extendidas ya sabéis que poner la barra vertical y ponéis cat o dos si si yo me 00:46:25
voy si yo me voy aquí y le digo oye quiero 00:46:31
que me busques por ejemplo os acordáis bueno estoy aquí quiero que me busque 00:46:37
todas las líneas si yo le digo que quiero que me busques todas las que no 00:46:41
le pongo raya v y me busca todas las que no coincidan con ese patrón es lo 00:46:46
contrario de de acuerdo 00:46:53
vale vamos a ver más más opciones que nosotros tenemos de aquí 00:46:57
si no queréis que diferencia entre mayúsculas y minúsculas en la expresión 00:47:01
regular me ponéis un guión y esto ya lo hemos visto para buscar lo contrario y 00:47:05
este es utilísimo me dice oye aplica la búsqueda a los datos vale de forma recursiva a todos los 00:47:10
ficheros y directorios ahora vamos a hacer un ejemplo si me voy a los que me interesan vale 00:47:19
porque esto no lo voy a preguntar porque le puedo decir que me muestre los números después de la 00:47:25
coincidencia las líneas que hay de antes o la línea que después esto ya hemos visto sí que si 00:47:30
Quiero poner un ológico, hemos visto que por defecto me muestra los patrones en color, 00:47:35
pero le puedo decir que me diga cuántas líneas coincide con el patrón, ¿sí? 00:47:41
O que me muestre el número de líneas, o que me muestre el nombre del fichero que contienen. 00:47:47
O que me diga que me busque las palabras. 00:47:53
En lugar de poner el mayor y el menor, como hacíamos antes en la expresión regular, 00:47:55
si yo pongo guión v, v doble, me busca las palabras, ¿sí? 00:47:59
Y terminamos con estos de aquí, os he puesto todas porque lo vais a necesitar para lo de lino sesential, que queréis las líneas enteras, es decir, línea entera que si yo quiero buscar en este caso Fernando Herrero, pues pongo guión x Fernando Herrero y me busca lo que la línea entera que sea Fernando Herrero, ¿sí? 00:48:03
Si yo le digo que solamente me muestre los nombres de los ficheros, guión en E, ¿vale? Le puedo decir que después de encontrar cinco líneas, cinco coincidencias, se pare. O le puedo decir que me muestre solamente las coincidencias o que no me muestre los errores o que me muestre, en este caso, las cabeceras de los nombres o que no me muestre las cabeceras de los nombres de los ficheros, ¿sí? 00:48:24
Y estas tres que son las que se utilizaban antes para utilizar expresiones regulares extendidas, para decirle que me busque en este caso exactamente lo que yo le diga, es decir, no me sirve lo del asterisco, no me sirve, no me funciona ninguno de los caracteres especiales. 00:48:50
Me explico. Ahora vamos a hacer ejemplos. ¿Vale? Porque estos son ejemplos ya para que vosotros lo podáis ver. Imaginaros que yo tengo lo siguiente. Y soy rapidito para que no se me vaya el tiempo que se me está yendo. 00:49:11
Si yo le digo que quiero que me busque y le digo que quiero que me busque lo que empieza por una A, pero si yo no quiero que distinga entre mayúsculas y minúsculas, quiero que veáis que me aparece esta línea. 00:49:27
Si yo quiero que me muestre, por ejemplo, las líneas que contienen, le digo guión E y le digo, yo qué sé, castillo O, le digo que me muestre las líneas que contienen SMRC, ¿vale? 00:49:51
que estaba escribiendo mal, pues en este caso 00:50:25
me va a buscar o lo que contiene en castillo o lo que contiene en SMRC 00:50:29
¿si? pero hay otras que nos pueden interesar 00:50:33
como es la siguiente, si yo le digo 00:50:37
esto, me muestra las líneas, si le quiero decir que me muestre 00:50:41
cuantas hay, pues le pongo C y me dice que hay 5 líneas 00:50:45
si quiero en lugar de decirle que me diga cuantas hay, que me las 00:50:49
números, pues me dice en qué línea está, también nos puede resultar útil 00:50:53
¿sí? pero si en lugar de todo esto yo le digo 00:50:57
la L, simplemente me dice el fichero que ha encontrado 00:51:01
¿por qué esto es interesante? pues para lo siguiente, por ejemplo, imaginaros 00:51:05
que yo le quiero decir que quiero que me busque en el 00:51:09
directorio y escañaveral 00:51:13
en todos los ficheros, de manera recursiva 00:51:15
pues quiero que me busque 00:51:21
por ejemplo 00:51:24
yo que sé 00:51:26
mil novecientos 00:51:32
mil 00:51:34
mil novecientos 00:51:35
ochenta y siete 00:51:39
por ejemplo, ¿vale? 00:51:41
entonces este me va a buscar en todos los ficheros 00:51:44
y fijaros que me está buscando en todos los sitios 00:51:46
y quiero que veas que me dice, mira, el nombre del fichero 00:51:49
y la línea que ha encontrado 00:51:53
el nombre del fichero y la línea que ha encontrado 00:51:56
¿sí? 00:51:59
si yo le digo que en lugar de que me muestre el contenido 00:52:01
que solamente quiero ver el nombre de los ficheros 00:52:04
pues solamente me dice los ficheros donde lo ha encontrado 00:52:07
entonces hay veces que no puede resultar útil 00:52:10
¿sí? 00:52:12
vale 00:52:15
también teníamos 00:52:15
el puntuación 00:52:17
si yo le digo que quiero que me busque 00:52:21
y le digo el raya W 00:52:27
y le digo Ana 00:52:29
de puntuación 00:52:30
pues me muestra donde 00:52:35
está la palabra Ana 00:52:39
que esto 00:52:41
y acordaros que si yo pongo 00:52:43
esto 00:52:46
es lo mismo, ¿vale? 00:52:56
porque sepáis que tenéis esas posibilidades 00:52:58
¿de acuerdo? 00:53:00
Que yo le quiero decir, oye, quiero que me busques, yo que sé, quiero que me busques, por ejemplo, hola, ¿sí? Esto me muestra hola, hola Ana, de puntuación, no, perdón, de alumnos. 00:53:01
alumnos y me muestra eso si yo le pongo aquí un guión x me busca exactamente la 00:53:37
línea que contiene o la sólo sólo eso si yo le digo por ejemplo guión o pues 00:53:46
fijaros que solamente me está mostrando la coincidencia decir todo lo demás no 00:54:00
me lo muestra de acuerdo todo eso me lo quita de acuerdo he puesto un ejemplo más significativo 00:54:12
quiero que miréis estas dos líneas vale porque quiero que vean la importancia de capar no capar 00:54:21
veis que me pone esto es y he puesto entre asterisco asterisco el asterisco final y he 00:54:27
puesto esto es y he puesto asterisco o el final sí qué pasa si yo ejecuto este de aquí le oye 00:54:33
quiero que me busques porque quiero buscar exactamente esto asterisco hola asterisco 00:54:40
si yo le doy fijaros que este primero no me ha puesto bien porque me ha puesto aquí veis que 00:54:46
esto está en negro quiere decir que no está dentro del patrón no me lo está buscando bien y encima el 00:54:52
de abajo también me lo pone y es mentira lo veis qué pasa si yo le digo en lugar de esto lo que 00:54:57
hago es capar para decirle que el asterisco no lo trate como si fuese un 00:55:08
carácter especial y ahora sí que me lo me lo encuentra si otras opciones que 00:55:15
podemos probar si yo pongo el guión efe pues también me lo pone porque me lo 00:55:21
trata tal cual es decir los asterisco ya no nos trata igual vale entendéis esto 00:55:26
porque si yo no pongo eso repito me está considerando el asterisco como 00:55:32
caracteres especiales que son lo que son para hacer las expresiones regulares 00:55:37
de acuerdo vale pues con esto que se me ha ido la hora terminamos la parte de 00:55:41
búsquedas tenemos los de recuerdo el locate el fine y el grep muy útiles de 00:55:47
acuerdo si venga un saludo 00:55:53
Idioma/s:
es
Autor/es:
Fernando Herrero Núñez
Subido por:
Fernando Jesús H.
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
34
Fecha:
31 de diciembre de 2022 - 13:01
Visibilidad:
Público
Centro:
IES EL CAÑAVERAL
Duración:
55′ 57″
Relación de aspecto:
1.85:1
Resolución:
1920x1040 píxeles
Tamaño:
179.61 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid