1 00:00:01,260 --> 00:00:19,519 Vamos a continuar con los comandos básicos y vamos a seguir con un comando que se llama nl, ¿vale? Para contar líneas. Voy a tomar de referencia, he estado haciendo aquí un poquito de limpieza, ¿vale? Porque tenía tanta mierdecilla por aquí que he dejado solamente estos. 2 00:00:19,519 --> 00:00:22,239 voy a tirar por ejemplo de nombre alumnos 3 00:00:22,239 --> 00:00:27,059 os recuerdo que cat nombre alumnos tiene estos de aquí 4 00:00:27,059 --> 00:00:29,480 Antonio, Luis, pin, pin, pin, pin 5 00:00:29,480 --> 00:00:33,299 voy a editarlo y voy a introducir un par de líneas 6 00:00:33,299 --> 00:00:36,479 voy a quitar dos o tres nombres y voy a introducir un par de líneas en blanco 7 00:00:36,479 --> 00:00:41,439 porque quiero que veáis mejor el ejemplo con el comando nl 8 00:00:41,439 --> 00:00:44,179 entonces voy a editarlo 9 00:00:44,179 --> 00:00:48,939 y por ejemplo voy a quitar a Carmen 10 00:00:48,939 --> 00:00:51,520 voy a quitar a Fernando 11 00:00:51,520 --> 00:00:54,079 y voy a quitar a Nuria 12 00:00:54,079 --> 00:00:55,640 y voy a quitar a Eva 13 00:00:55,640 --> 00:00:57,799 ¿vale? y aquí en Carol 14 00:00:57,799 --> 00:00:59,439 métodos intros 15 00:00:59,439 --> 00:01:02,159 entre Natalia y Alejandro me entro un intro 16 00:01:02,159 --> 00:01:04,200 y aquí métodos 17 00:01:04,200 --> 00:01:06,159 intros ¿de acuerdo? imaginaos que tengo un fichero 18 00:01:06,159 --> 00:01:08,379 como este, lo voy a guardar 19 00:01:08,379 --> 00:01:11,840 de forma que si le digo tengo esto de aquí 20 00:01:11,840 --> 00:01:12,159 ¿si? 21 00:01:13,799 --> 00:01:16,359 ¿para qué me sirve el comando nl? 22 00:01:16,859 --> 00:01:18,420 si yo le digo nl 23 00:01:18,420 --> 00:01:21,939 y le digo nombres, quiero que veáis que lo que me hace 24 00:01:21,939 --> 00:01:26,000 me enumera por defectos las líneas que no 25 00:01:26,000 --> 00:01:29,879 están vacías, ¿vale? Es decir, fijaros que la del intro me la ha dejado 26 00:01:29,879 --> 00:01:34,060 ¿sí? Si quiero que me enumere todas las líneas 27 00:01:34,060 --> 00:01:36,500 pues yo tendría que utilizar 28 00:01:36,500 --> 00:01:41,859 la opción, en este caso, guión B, para decirle qué tipo 29 00:01:41,859 --> 00:01:45,920 de estilo de enumeración queremos y para decirle que quiero que me enumere todas 30 00:01:45,920 --> 00:01:47,939 Le digo A 31 00:01:47,939 --> 00:01:51,420 Y fijaros que me numera todas las líneas 32 00:01:51,420 --> 00:01:52,079 ¿De acuerdo? 33 00:01:53,239 --> 00:01:54,840 Entonces si no pongo ninguna opción 34 00:01:54,840 --> 00:01:56,780 Solamente me numera las líneas 35 00:01:56,780 --> 00:01:58,500 Que no están vacías 36 00:01:58,500 --> 00:01:59,819 Si le quiero numerar todas 37 00:01:59,819 --> 00:02:01,519 Tengo que poner la opción guión B 38 00:02:01,519 --> 00:02:02,340 ¿Vale? 39 00:02:03,260 --> 00:02:04,620 Y luego tengo que poner 40 00:02:04,620 --> 00:02:07,519 La opción A 41 00:02:07,519 --> 00:02:10,259 El no poner esto 42 00:02:10,259 --> 00:02:14,780 Es lo mismo que si yo pongo guión B 43 00:02:14,780 --> 00:02:19,060 y le pongo la opción T, ¿de acuerdo? 44 00:02:21,300 --> 00:02:24,780 Entonces podéis utilizar con la opción B, pero bueno, que sepáis que para enumerar todas 45 00:02:24,780 --> 00:02:30,379 tenemos que utilizar la opción guión B con el A, ¿de acuerdo? 46 00:02:31,259 --> 00:02:35,219 Entonces quiero que veáis que el formato del número es un número, ¿vale? 47 00:02:35,379 --> 00:02:39,379 Y empieza 1, 2, 3, 4, pero vosotros le podéis decir cómo lo queréis. 48 00:02:39,740 --> 00:02:40,360 Me explico. 49 00:02:40,360 --> 00:02:44,240 le voy a decir que me enumere todas las líneas 50 00:02:44,240 --> 00:02:47,699 le voy a decir así para que veamos cómo es el formato 51 00:02:47,699 --> 00:02:52,740 y si yo le quiero dar un formato diferente a los números que aparecen 52 00:02:52,740 --> 00:02:55,060 tengo que utilizar la opción guión n 53 00:02:55,060 --> 00:02:59,360 y aquí tengo lo siguiente, si yo pongo ln 54 00:02:59,360 --> 00:03:04,280 l del f, si le doy 55 00:03:04,280 --> 00:03:08,039 donde me aparece justificado el número, a mano izquierda 56 00:03:08,039 --> 00:03:20,900 L del F, ¿de acuerdo? ¿Sí? Si yo quiero que me lo justifique a la derecha, write rn, que es lo que está puesto por defecto, ¿sí? 57 00:03:21,599 --> 00:03:29,300 Pero el que a mí hay a veces que me interesa es justificado a la derecha, pero que me rellene con ceros. 58 00:03:29,800 --> 00:03:37,000 Entonces, para que haga eso, le digo r y en lugar de decirle n, le digo z de ceros. Y fijaros que es lo que me hace. 59 00:03:38,039 --> 00:03:57,740 Entonces, me ha rellenado, ¿vale? Me lo justifica la derecha, pero con relleno de ceros, ¿sí? Si no queréis el ancho de 3 y 3, 6 dígitos, pues le podéis poner el width y le decís, mira, quiero un ancho de 3, pues automáticamente tenéis un ancho de 3. 60 00:03:57,740 --> 00:04:02,759 quiero un ancho de 4, pues automáticamente tengo un ancho de 4 61 00:04:02,759 --> 00:04:12,889 entonces repito que nosotros tenemos este para decirle que queremos que nos numere 62 00:04:12,889 --> 00:04:15,849 aquí le estoy diciendo que me numere todas las líneas 63 00:04:15,849 --> 00:04:19,850 este para decirle que formato quiero que siga 64 00:04:19,850 --> 00:04:24,589 en este caso le estoy diciendo que quiero que sea right, es decir justificado a la derecha 65 00:04:24,589 --> 00:04:27,269 pero z que me rellene con ceros 66 00:04:27,269 --> 00:04:55,560 Y este de aquí le estoy indicando que solamente quiero cuatro dígitos, es decir, estos cuatro dígitos. ¿De acuerdo? ¿Sí? Y ya el último, por curiosidad, yo también le puedo decir, borramos esto, y si yo le digo, por ejemplo, una i pequeña y le pongo, por ejemplo, un 3, que quiero que es lo que veáis, ¿qué es lo que está haciendo? 67 00:04:55,560 --> 00:05:05,579 Pues fijaros que me empieza a numerar, me llama 1, 1 más 3, 4, 4 más 3, 7, 7 más 3, 10. 68 00:05:05,699 --> 00:05:14,339 Entonces vosotros le podéis decir que no sea sucesivo de 1 en 1, sino que aquí le podéis decir el incremento que se va haciendo en cada una de las líneas que se numeran. 69 00:05:15,519 --> 00:05:17,199 Es una forma de enumerar las líneas. 70 00:05:20,040 --> 00:05:22,399 Obviamente yo esto puedo hacer cosas como esta. 71 00:05:22,399 --> 00:05:30,220 Le digo, oye, quiero que me muestres este ls y por favor quiero que me enumeres las líneas, ¿sí? 72 00:05:32,060 --> 00:05:41,779 Y le puedo decir, pues yo que sé, y quiero que me lo ordenes y quiero que me cojas el campo 1 y quiero que me lo pongas al revés y me lo pone al revés. 73 00:05:43,439 --> 00:05:48,399 Entonces aquí ya podemos empezar a complicar las cosas todo lo que queramos, ¿vale? 74 00:05:48,399 --> 00:05:55,879 Y no es complicado, es decir, puedo obtener información prácticamente de lo que me dé la gana, ¿de acuerdo? 75 00:05:56,560 --> 00:06:05,740 Vamos a otro comando, que este comando, en mi opinión, o sea, en mi opinión no, o sea, en mi caso lo utilizo muchísimo, ¿vale? 76 00:06:06,459 --> 00:06:09,759 No sé por qué, no me preguntéis por qué, pero lo utilizo muchísimo. 77 00:06:10,860 --> 00:06:17,220 Y es el comando que se llama cut, c-u-t, ¿vale? ¿Para qué me sirve el comando cut? 78 00:06:17,220 --> 00:06:27,480 Lo que hace el comando cult es, de un fichero, considera que las líneas están divididas opcionalmente en campos. 79 00:06:27,600 --> 00:06:32,480 Entonces lo que me hace es traer las columnas del archivo que yo le indiqué. 80 00:06:33,360 --> 00:06:37,220 O le puedo decir por columnas o le puedo decir en este caso por caracteres. 81 00:06:38,240 --> 00:06:46,360 ¿Os acordáis que en el sort, si yo no decía nada, consideraba que las líneas estaban separadas por columnas, por campos, separadas por el tabulador? 82 00:06:46,360 --> 00:06:48,439 pues aquí me pasa exactamente igual 83 00:06:48,439 --> 00:06:50,639 entonces yo no sé si os acordáis 84 00:06:50,639 --> 00:06:52,319 que teníamos aquí algún comando 85 00:06:52,319 --> 00:06:54,019 que no sé cuál era, la puntuación 86 00:06:54,019 --> 00:06:56,300 si nosotros tenemos aquí la puntuación 87 00:06:56,300 --> 00:06:58,180 tenemos este de aquí 88 00:06:58,180 --> 00:07:00,339 ¿sí? imaginaros 89 00:07:00,339 --> 00:07:02,519 que yo solamente quiero la primera columna 90 00:07:02,519 --> 00:07:04,180 es decir 91 00:07:04,180 --> 00:07:06,139 yo solamente quiero esto de aquí 92 00:07:06,139 --> 00:07:08,399 porque quiero coger la suma de las 93 00:07:08,399 --> 00:07:09,500 puntuaciones, por ejemplo 94 00:07:09,500 --> 00:07:12,240 ¿sí? o quiero que solamente 95 00:07:12,240 --> 00:07:13,779 obtener la segunda columna 96 00:07:13,779 --> 00:07:15,500 pues para eso está el comando cut 97 00:07:15,500 --> 00:07:18,480 El comando cut lo que hace es 98 00:07:18,480 --> 00:07:20,120 Por cada línea que hay 99 00:07:20,120 --> 00:07:23,579 Él va a considerar que está dividida 100 00:07:23,579 --> 00:07:25,779 Yo se lo tengo que indicar obviamente 101 00:07:25,779 --> 00:07:27,899 Que está dividida por campos 102 00:07:27,899 --> 00:07:30,879 O le puedo decir que me coja los tres primeros caracteres 103 00:07:30,879 --> 00:07:33,980 Eso, pero la potencia que tiene esto es sobre todos los campos 104 00:07:33,980 --> 00:07:37,040 Entonces, este de aquí va a ser el primer campo 105 00:07:37,040 --> 00:07:39,740 Este de aquí va a ser el segundo campo 106 00:07:39,740 --> 00:07:40,579 Etc, etc 107 00:07:40,579 --> 00:07:43,339 Si yo me voy 108 00:07:43,339 --> 00:07:55,319 No sé si os acordáis que teníamos este ficherito, les voy a decir que me muestre las tres primeras líneas de alumnos, y teníamos este de aquí. 109 00:07:56,759 --> 00:08:06,980 Entonces, yo no sé si recordáis que aquí teníamos un valor separados por almohadilla, el segundo apellido, separados por almohadillas. 110 00:08:06,980 --> 00:08:10,920 teníamos el nombre, separados por almohadilla teníamos la edad 111 00:08:10,920 --> 00:08:14,980 separados por almohadilla teníamos el año de nacimiento 112 00:08:14,980 --> 00:08:17,660 y el último, el grupo al que pertenece 113 00:08:17,660 --> 00:08:22,420 pues para el comando cut igual que al sort 114 00:08:22,420 --> 00:08:26,319 todo esto van a ser campos 115 00:08:26,319 --> 00:08:29,300 y tienen una numeración, a ver si esto me funciona 116 00:08:29,300 --> 00:08:31,620 pues este de aquí 117 00:08:31,620 --> 00:08:34,679 espérate, lo voy a poner mejor así 118 00:08:34,679 --> 00:08:39,220 este va a ser uno, este va a ser otro 119 00:08:39,220 --> 00:08:42,019 este va a ser otro, este va a ser otro 120 00:08:42,019 --> 00:08:45,340 este va a ser otro y este va a ser otro 121 00:08:45,340 --> 00:08:49,539 de forma que si yo quiero decirle 122 00:08:49,539 --> 00:08:52,139 que quiero coger el apellido uno 123 00:08:52,139 --> 00:08:54,559 este va a ser el campo número uno 124 00:08:54,559 --> 00:09:00,629 este va a ser el campo número uno 125 00:09:00,629 --> 00:09:06,990 Este va a ser el campo 2, este va a ser el campo 3, el 4, el 5 y el 6. 126 00:09:08,490 --> 00:09:13,789 Entonces, yo con el comando cut le tengo que decir qué campo quiero de cada línea 127 00:09:13,789 --> 00:09:21,149 y además, si el separador es diferente del tabulador, le tengo que decir, como es este el caso, 128 00:09:21,929 --> 00:09:25,750 cuál es el carácter que utilizo para separar los campos. 129 00:09:25,750 --> 00:09:31,389 ¿Sí? Lo vamos a ver con un ejemplo y así empezamos a entender cómo funciona 130 00:09:31,389 --> 00:09:34,429 Voy a empezar por una cosa muy sencilla 131 00:09:34,429 --> 00:09:42,820 Voy a empezar con el puntuación, no, con puntuación no, voy a empezar con el listado este 132 00:09:42,820 --> 00:09:55,399 E imaginaros que yo le quiero decir que solamente quiero coger los cinco primeros caracteres de cada línea 133 00:09:55,399 --> 00:09:59,019 Pues yo voy a utilizar el comando cut, ¿sí? 134 00:09:59,399 --> 00:10:04,980 Y con el comando cut le voy a decir, oye, ¿qué es lo que quiero hacer? 135 00:10:06,200 --> 00:10:12,440 Le digo, quiero coger menos c, caracteres, y le digo, ¿qué caracteres quiero coger? 136 00:10:14,399 --> 00:10:27,940 Si yo quiero poner, yo no sé si os acordáis que vosotros en Windows, cuando vosotros habéis tenido que imprimir algo en Word, 137 00:10:27,940 --> 00:10:37,080 ¿La habéis impreso alguna vez? Cuando vosotros queréis imprimir las cinco primeras líneas, vosotros ponéis un guión y un 5, ¿vale? 138 00:10:37,620 --> 00:10:40,740 Que esto es como decir de la línea 1 a la línea 5. 139 00:10:41,159 --> 00:10:49,720 Si vosotros queréis imprimir un rango de páginas en Word, habéis puesto, por ejemplo, de la 7 un guión hasta la 15. 140 00:10:49,720 --> 00:11:01,500 Y esto lo que me ha hecho es imprimir la 7, la 8, la 9, la 10, la 11, la 12, la 13, la 14 y la 15. 141 00:11:02,120 --> 00:11:04,960 Esto que ponga mano izquierda y mano derecha es exactamente lo mismo. 142 00:11:06,139 --> 00:11:14,159 ¿Sí? O si yo le pongo en este caso un 11 y un guión, le estoy diciendo desde la 11 al final. 143 00:11:14,159 --> 00:11:17,600 esto lo habéis hecho alguna vez en Word 144 00:11:17,600 --> 00:11:20,220 porque esto, si habéis utilizado 145 00:11:20,220 --> 00:11:20,899 Word y habéis 146 00:11:20,899 --> 00:11:23,600 impreso algún documento 147 00:11:23,600 --> 00:11:26,460 este de aquí es desde el principio 148 00:11:26,460 --> 00:11:30,720 ¿vale? 149 00:11:31,179 --> 00:11:31,960 a la página 150 00:11:31,960 --> 00:11:34,759 uy, perdón, a página 151 00:11:34,759 --> 00:11:35,820 número 5 152 00:11:35,820 --> 00:11:38,639 este es un rango y este es 153 00:11:38,639 --> 00:11:40,059 desde el número 11 hasta el final 154 00:11:40,059 --> 00:11:42,179 si queréis páginas sueltas en Word 155 00:11:42,179 --> 00:11:43,480 también hacéis lo siguiente, ¿no? 156 00:11:43,519 --> 00:11:46,639 le dices, oye, quiero la 8, la 12 157 00:11:46,759 --> 00:11:53,480 coma la 23 coma y la 27 pues esto que funciona en word también funciona aquí 158 00:11:53,480 --> 00:12:00,320 pues vamos a probarlo me voy aquí y le voy a decir guión 5 y 159 00:12:00,320 --> 00:12:04,759 le tengo que decir el fichero pues le voy a decir alumnos y qué es lo que me 160 00:12:04,759 --> 00:12:12,960 ha devuelto me ha devuelto la 1 2 3 4 y 5 los 5 161 00:12:12,960 --> 00:12:21,039 primeros caracteres de cada una de las líneas, ¿sí? Fijaros que, voy a cogerlo así para 162 00:12:21,039 --> 00:12:35,200 que lo veáis, 1, 2, 3, 4 y 5, efectivamente, 1, 2, 3, 4 y 5, me voy al siguiente, 1, 2, 163 00:12:35,200 --> 00:12:50,240 3, 4 y 5, 1, 2, 3, 4 y 5. Me voy al siguiente, 1, 2, 3, 4 y 5 y 1, 2, 3, 4 y 5. ¿Sí? Entonces 164 00:12:50,240 --> 00:12:58,659 fijaros que me ha devuelto por cada uno de ellos los cinco primeros caracteres. ¿Lo 165 00:12:58,659 --> 00:13:06,919 veis? Pues esto es porque hemos puesto el guión C. Si yo le digo con el guión C, le 166 00:13:06,919 --> 00:13:14,679 quiero decir, oye, quiero que me devuelvas del 3 al 8, pues me devuelven los carácteres 167 00:13:14,679 --> 00:13:21,539 del 3 al 8 de cada línea, de cada línea, los carácteres del 3 al 8. O le puedo decir, 168 00:13:21,639 --> 00:13:26,240 oye, quiero que me devuelvas del carácter 8 hasta el final, pues me devuelve del carácter 169 00:13:26,240 --> 00:13:33,259 8 hasta el final si entonces estoy a veces que es útil pero lo realmente útil del comando cut 170 00:13:33,259 --> 00:13:42,980 es decirle los campos sí para empezarlo con los campos vamos a ver el de puntuación nosotros 171 00:13:42,980 --> 00:13:50,840 teníamos cat puntuación pues si yo quiero decirle oye quiero que me cortes quiero que de cada línea 172 00:13:50,840 --> 00:14:09,340 Y para decirle que quiere es que me devuelve una columna, un campo, le digo en este caso un guión F, ¿vale? De campo de fiel en inglés. Y le digo, quiero que me devuelvas qué posición el campo ocupa, la 1. ¿De qué? De puntuación. ¿Y qué me ha devuelto? La primera columna. 173 00:14:09,340 --> 00:14:16,559 Si yo le digo que me devuelva el 2, pues automáticamente me devuelve la segunda columna, ¿sí? 174 00:14:17,399 --> 00:14:22,700 ¿Por qué? Porque por defecto él entiende que cada valor está separado por un tabulador. 175 00:14:23,500 --> 00:14:26,220 Por eso no funciona aquí, a las mil maravillas. 176 00:14:26,720 --> 00:14:32,019 Igual que nosotros poníamos un conjunto de caracteres con la c, aquí funciona igual. 177 00:14:32,179 --> 00:14:37,100 Aquí le puedo decir, oye, 2-8, y te devuelve todos los campos del 2 al 8. 178 00:14:37,100 --> 00:14:44,000 del 2 guión del 2 hasta el final guión 2 pues los dos primeros vale o yo puedo poner separados 179 00:14:44,000 --> 00:14:51,779 por comas ahora vamos a ver pero vamos a ver con el fichero alumnos centro entonces vuelvo 180 00:14:51,779 --> 00:14:59,960 a decirle aquí que me dé que me dé la primera la primera columna la primera fila de alumnos centro 181 00:15:00,980 --> 00:15:07,019 y vamos a decirle que solamente quiero el nombre como le puedo decir que quiero el nombre le digo 182 00:15:07,019 --> 00:15:16,200 cut pero aquí tengo no un problema sino que como el separador de campos no es el tabulador sino 183 00:15:16,200 --> 00:15:21,799 que es uno diferente se lo tengo que especificar el comando cut le tengo que decir oye que sepas 184 00:15:21,799 --> 00:15:27,179 que los valores de cada línea están separados por un carácter diferente del tabulador como se 185 00:15:27,179 --> 00:15:33,480 lo digo pues se les digo con la opción menos d entonces le oye menos de y ahora aquí pongo el 186 00:15:33,480 --> 00:15:38,460 carácter que va a separar cada una de las columnas pues le digo el menos el 187 00:15:38,460 --> 00:15:43,919 menos de vale el alma villa y ahora qué campo quiero pues ahora pongo guión efe 188 00:15:43,919 --> 00:15:48,539 y aquí es igual que lo de los carácter de los caracteres vale imaginaros que 189 00:15:48,539 --> 00:15:52,740 quiero el nombre pues va a ser la posición 1 2 y 3 vale pues va a ser la 190 00:15:52,740 --> 00:15:58,740 posición 3 de obviamente alumnos pues fijaros que me devuelve solamente el 191 00:15:58,740 --> 00:16:06,139 nombre que yo solamente quiero que me devuelva al grupo pues yo le digo el 192 00:16:06,139 --> 00:16:15,009 grupo es este es el 1 este es el 2 este es el 3 193 00:16:15,009 --> 00:16:20,889 este es el 4 este es el 5 y este es el 6 así que que columna quiero que campo 194 00:16:20,889 --> 00:16:26,070 quiero las seis pues así que le ponga aquí un 6 y ya tengo ahí los grupos 195 00:16:26,070 --> 00:16:34,210 correspondiente. ¿De acuerdo? ¿Sí? ¿Qué pasa si yo quiero que me muestre, yo que sé, 196 00:16:37,909 --> 00:16:46,250 le digo, oye, quiero que me muestres el campo nombre, que es el 3, y el campo 6. 197 00:16:46,470 --> 00:16:49,769 Solamente quiero que me muestres el nombre y el grupo al que pertenece el chaval. 198 00:16:49,769 --> 00:17:06,609 Digo, pues ya lo tengo ahí, ¿vale? Solamente me da la columna del nombre y la columna del grupo, ¿sí? Obviamente separado por el carácter correspondiente. Solamente me da aquellos valores que a mí me interesan, ¿de acuerdo? 199 00:17:06,609 --> 00:17:24,130 ¿Sí? Yo también le puedo decir, oye, quiero que me des los tres primeros campos. Y solamente me va a dar los tres primeros campos. ¿De acuerdo? Esto para que no sea tan grande, voy a hacer lo siguiente. 200 00:17:24,130 --> 00:17:35,309 Le voy a decir que esto, porque ya lo hemos visto, se lo vamos a pasar al gead y le vamos a decir que nos muestre solamente las cinco primeras líneas. 201 00:17:36,289 --> 00:17:39,630 Entonces fijaros que me muestra los tres primeros campos. 202 00:17:40,089 --> 00:17:47,829 ¿Que yo le puedo decir que me muestre desde el campo 4 hasta el final? Pues me muestra del campo 4 hasta el final. 203 00:17:47,829 --> 00:18:09,130 ¿Qué le quiero decir a un rango? Pues le digo, oye, del 2 al 4, pues me devuelve del 2 al 4, ¿sí? ¿Qué quiero separados? Pues con comas, le digo 1,4,6 y así obtengo los valores que a mí me interesan, ¿entendéis? 204 00:18:09,130 --> 00:18:18,109 Entonces, imaginaros que nos dan fichero y yo tengo que sacar cuántos grupos hay 205 00:18:18,109 --> 00:18:20,210 Pues vamos a hacerlo 206 00:18:20,210 --> 00:18:24,769 Yo quiero saber cuántos grupos diferentes hay en este fichero 207 00:18:24,769 --> 00:18:26,450 Pues a ver cómo lo hacen 208 00:18:26,450 --> 00:18:27,569 Pues a ver cómo lo hacemos 209 00:18:27,569 --> 00:18:29,130 Que ya estoy hablando mal 210 00:18:29,130 --> 00:18:35,829 Yo le voy a decir que solamente quiero el campo 6, que es el que contiene el grupo de alumnos 211 00:18:35,829 --> 00:18:37,029 Ya lo tengo ahí 212 00:18:37,029 --> 00:18:48,710 ¿Sí? Ahora, voy a ordenarlo. ¿Por qué lo voy a ordenar? Porque resulta que si lo ordeno, hay un comando que me permite quitar grupos repetidos. 213 00:18:49,650 --> 00:18:56,410 Pues, no sé si os acordáis del vídeo anterior, que hay un comando que se llama unique. Pues ya lo tengo ahí. 214 00:18:57,009 --> 00:19:03,609 Primero smra, b, c. Me ha cogido el c dos veces, no sé por qué, porque lo mismo he puesto un espacio al final. 215 00:19:03,609 --> 00:19:05,289 tiene toda la pinta 216 00:19:05,289 --> 00:19:08,190 si me aparece esto 217 00:19:08,190 --> 00:19:09,470 es porque hay una diferencia 218 00:19:09,470 --> 00:19:11,029 que lo mismo en el ficherito 219 00:19:11,029 --> 00:19:12,130 he puesto un espacio al final 220 00:19:12,130 --> 00:19:14,029 entonces no son iguales 221 00:19:14,029 --> 00:19:15,990 entonces eso es por escribir mal 222 00:19:15,990 --> 00:19:17,289 y este de aquí 223 00:19:17,289 --> 00:19:19,569 fijaros que me ha añadido 224 00:19:19,569 --> 00:19:22,849 la primera línea del fichero alumnos 225 00:19:22,849 --> 00:19:25,470 entonces si soy muy purista 226 00:19:25,470 --> 00:19:28,450 yo lo que tengo que decirle es 227 00:19:28,450 --> 00:19:29,009 oye 228 00:19:29,009 --> 00:19:32,029 como no quiero la primera línea 229 00:19:32,029 --> 00:19:33,150 me explico 230 00:19:33,150 --> 00:19:41,839 Cuando yo hago un cut de alumnos, esta primera línea yo no la quiero 231 00:19:41,839 --> 00:19:44,079 Porque no quiero trabajar con ellas 232 00:19:44,079 --> 00:19:52,539 Pues sabéis perfectamente que yo le puedo decir, por ejemplo, tail-n más 2 233 00:19:52,539 --> 00:19:57,500 Oye, desde la segunda línea, y como ya tengo la segunda línea, ya la primera la quito 234 00:19:57,500 --> 00:20:01,720 ¿Y ahora qué es lo que hago? Pues se lo paso en este caso al comando cut 235 00:20:01,720 --> 00:20:05,920 Y le digo, oye, quiero que el separador de campo sea la almohadilla 236 00:20:05,920 --> 00:20:06,980 ¿Y qué campo quiero? 237 00:20:07,539 --> 00:20:09,099 Quiero el campo 6 238 00:20:09,099 --> 00:20:10,720 Y ya lo tengo ahí 239 00:20:10,720 --> 00:20:12,599 Y ahora, ¿qué es lo que quiero? 240 00:20:12,859 --> 00:20:14,259 Pues quiero que me lo ordenes 241 00:20:14,259 --> 00:20:17,440 Y una vez que me lo ordenes, quítame los repetidos 242 00:20:17,440 --> 00:20:18,759 Pues ahí lo tenéis 243 00:20:18,759 --> 00:20:20,099 ¿Sí? 244 00:20:22,099 --> 00:20:22,819 ¿De acuerdo? 245 00:20:25,809 --> 00:20:27,910 Entonces, voy a arreglar el primero SMRC 246 00:20:27,910 --> 00:20:29,769 Que está quedando muy feo 247 00:20:29,769 --> 00:20:39,039 ¿Vale? 248 00:20:39,259 --> 00:20:40,519 Y ya lo tenemos ahí 249 00:20:40,519 --> 00:20:48,619 primero abc de acuerdo entonces yo de una de un fichero puedo tener la información que a mí me 250 00:20:48,619 --> 00:21:04,269 dé la gana sí pues aquí solamente una última puntualización yo cuando he hecho hoy yo cuando 251 00:21:04,269 --> 00:21:15,259 he hecho aquí esto por ejemplo varios campos estos de aquí si ves que los campos me lo muestra 252 00:21:15,259 --> 00:21:39,680 separado por la almohadilla que es el que viene en el fichero. Pues que sepáis que yo puedo utilizar el guión guión y le digo, oye, output delimiter, le podéis dar al tabulador, te lo pone completo. 253 00:21:39,680 --> 00:21:47,519 Y aquí le podéis poner cuál es el que queréis que utilice en lugar de la almohadilla. 254 00:21:47,960 --> 00:21:51,640 Por ejemplo, si yo pongo aquí un guión. 255 00:21:52,480 --> 00:21:56,319 Ay, perdonadme, que me he equivocado escribiendo. 256 00:22:04,339 --> 00:22:06,160 Quiero que veáis qué es lo que ha hecho. 257 00:22:07,559 --> 00:22:11,240 Entonces, fijaros que me ha utilizado el separador otro que yo haya dicho. 258 00:22:11,240 --> 00:22:16,839 pues aquí vosotros podéis utilizar el que queráis 259 00:22:16,839 --> 00:22:21,599 vale, pues vamos a seguir con otro comando 260 00:22:21,599 --> 00:22:28,819 y el comando que vamos a ver ahora 261 00:22:28,819 --> 00:22:31,839 es el comando com 262 00:22:31,839 --> 00:22:33,400 ¿para qué sirve este comando? 263 00:22:33,539 --> 00:22:35,160 imaginaos que tengo tres ficheros 264 00:22:35,160 --> 00:22:38,619 el primero es nano 265 00:22:38,619 --> 00:22:41,160 y por ejemplo 266 00:22:41,160 --> 00:22:47,680 fall 267 00:22:47,680 --> 00:22:58,180 y pongo por ejemplo aquí las personas que han aprobado FOL 268 00:22:58,180 --> 00:22:59,440 y le pongo aquí Ana 269 00:22:59,440 --> 00:23:03,759 Beatriz 270 00:23:03,759 --> 00:23:06,519 y Carlos 271 00:23:06,519 --> 00:23:10,039 y le pongo aquí Luis 272 00:23:10,039 --> 00:23:13,579 fijaros que lo estoy poniendo ordenado 273 00:23:13,579 --> 00:23:16,500 Ana, Bea, Carlos y Luis 274 00:23:16,500 --> 00:23:20,000 pues ahora lo que voy a poner es otro 275 00:23:20,000 --> 00:23:23,380 Diciendo que el nano 276 00:23:23,380 --> 00:23:24,599 Y le digo redes 277 00:23:24,599 --> 00:23:27,420 A ver quien ha probado redes 278 00:23:27,420 --> 00:23:28,700 Y le digo Ana 279 00:23:28,700 --> 00:23:34,079 Carmen 280 00:23:34,079 --> 00:23:40,150 Luis 281 00:23:40,150 --> 00:23:41,190 Y ya está 282 00:23:41,190 --> 00:23:45,440 Y el tercero 283 00:23:45,440 --> 00:23:46,059 Le digo a ver 284 00:23:46,059 --> 00:23:48,079 Quien ha probado por ejemplo 285 00:23:48,079 --> 00:23:50,619 Montaje 286 00:23:50,619 --> 00:23:54,609 Pues ha probado Ana 287 00:23:54,609 --> 00:24:13,660 ha aprobado Carmen y ha aprobado, yo qué sé, Juan, ¿sí? 288 00:24:14,779 --> 00:24:16,759 Entonces, ¿para qué me sirve el comando com? 289 00:24:16,980 --> 00:24:21,720 Pues el comando com lo que hace es comparar dos ficheros que tienen que estar ordenados línea a línea 290 00:24:21,720 --> 00:24:24,259 y me muestra tres columnas. 291 00:24:24,680 --> 00:24:29,920 La primera columna es aquellas líneas que solo están en el primer fichero 292 00:24:29,920 --> 00:24:37,099 la segunda columna es la que solo están en el segundo fichero 293 00:24:37,099 --> 00:24:41,539 y la tercera columna es la que están en ambos ficheros 294 00:24:41,539 --> 00:24:47,900 de forma que si yo pongo com y le digo fol y redes 295 00:24:47,900 --> 00:24:57,980 fijaros que me pone, oye, la primera columna 296 00:24:57,980 --> 00:25:00,799 los alumnos que solo están en fol 297 00:25:00,799 --> 00:25:04,460 ¿sí? es decir, que no han aprobado redes 298 00:25:04,460 --> 00:25:08,579 ¿sí? me voy a la segunda columna 299 00:25:08,579 --> 00:25:12,480 los que solo están en redes, está Carmen 300 00:25:12,480 --> 00:25:16,660 ¿sí? y la tercera columna es lo que están 301 00:25:16,660 --> 00:25:20,720 en los dos ficheros, es decir, ¿quién ha aprobado Folly Redes? 302 00:25:20,720 --> 00:25:22,839 Ana y Luis, porque están en los dos ficheros 303 00:25:22,839 --> 00:25:29,099 ¿vale? repito, la primera columna 304 00:25:29,099 --> 00:25:34,740 van a mostrar las líneas que sólo están en el primer fichero, en este caso, FOL. 305 00:25:35,799 --> 00:25:43,559 La segunda columna va a mostrar sólo los que están en el ficherito REDES, segundo fichero. 306 00:25:44,960 --> 00:25:49,319 Y el tercero son los que están en los dos ficheros. 307 00:25:50,339 --> 00:25:50,500 ¿Sí? 308 00:25:52,200 --> 00:25:52,740 ¿De acuerdo? 309 00:25:53,259 --> 00:25:57,279 Si yo hago lo propio con FOL y montaje, 310 00:25:59,099 --> 00:26:14,759 Pues fijaros que me dicen, oye, los que solamente están en FOL, los que solo han aprobado FOL, los que solamente han aprobado montaje y los que han aprobado FOL y montaje, los que están en los dos. 311 00:26:15,960 --> 00:26:24,799 ¿Sí? Pues imaginaros que yo os diga, quiero que me digáis el nombre de los alumnos que han aprobado las tres asignaturas. 312 00:26:24,799 --> 00:26:36,640 Repito, queremos, en este caso, saber el nombre de los alumnos que han aprobado los tres módulos 313 00:26:36,640 --> 00:26:40,940 ¿Cómo lo podemos hacer? Pues vamos a empezar con FOL y REDES 314 00:26:40,940 --> 00:26:50,680 Yo le digo COM y le digo FOL y REDES 315 00:26:50,680 --> 00:26:57,740 Y vuelvo a repetir, primera columna los que solamente están en FOL 316 00:26:57,740 --> 00:27:03,079 segunda columna los que sólo están en redes y tercera columna los que están en los dos que 317 00:27:03,079 --> 00:27:11,420 columna me interesa a mí la tercera verdad pues que sepáis que el comando com tiene lo siguiente 318 00:27:11,420 --> 00:27:18,059 si yo le pongo un guión y le digo uno le estoy diciendo que no me muestre la primera columna 319 00:27:18,059 --> 00:27:25,579 si yo le digo un guión y le digo un dos le estoy diciendo que no me muestre la segunda columna y 320 00:27:25,579 --> 00:27:31,680 Y si le digo un guión y un 3, le digo que no me muestre la tercera columna. 321 00:27:33,420 --> 00:27:37,019 Pero yo le puedo poner que no me muestre ni la 1 ni la 2. 322 00:27:37,240 --> 00:27:44,160 Sí, si yo le pongo, oye, ni la 1 ni la 2, que es lo único que me está mostrando, la tercera columna, que es lo que quiero. 323 00:27:45,420 --> 00:27:46,200 ¿Me seguís? 324 00:27:46,559 --> 00:27:49,579 Entonces yo pongo un guión y le digo 1, 2 o 3. 325 00:27:50,039 --> 00:27:53,200 Y es para decirle qué columnas no quiero que me aparezcan. 326 00:27:54,319 --> 00:27:54,460 ¿Sí? 327 00:27:55,579 --> 00:28:17,500 Pues esto, yo lo podría decir es aprobados1.txt. Yo podría hacer esto, ¿verdad? Y decirle ahora, oye, com aprobados.txt y se lo voy a pasar también al otro que me quedaba, que era montaje, ¿no? Y montaje. 328 00:28:17,500 --> 00:28:21,740 Y aquí de nuevo, Luis solamente ha probado 329 00:28:21,740 --> 00:28:27,039 Foli Redes, Carmen y Juan 330 00:28:27,039 --> 00:28:29,839 ¿Vale? Solamente ha probado montaje 331 00:28:29,839 --> 00:28:30,960 Y Ana ha probado todo 332 00:28:30,960 --> 00:28:32,299 Entonces, ¿qué me interesa aquí? 333 00:28:33,000 --> 00:28:36,000 Pues me interesa que no quiero mostrar ni la 1 ni la 2 334 00:28:36,000 --> 00:28:36,920 Solamente quiero 335 00:28:36,920 --> 00:28:39,319 Y me dice que Ana ha probado todo 336 00:28:39,319 --> 00:28:42,519 Porque está en todos los ficheros 337 00:28:42,519 --> 00:28:44,299 En el primero, en el segundo y en el tercero 338 00:28:44,299 --> 00:28:45,700 Pero esto es muy cutre 339 00:28:45,700 --> 00:28:57,759 Porque yo he tenido que utilizar un ficherito temporal. ¿Por qué no es mejor hacer esto? Yo esto se lo voy a pasar mediante una tubería al comando com otra vez. 340 00:28:57,759 --> 00:29:20,579 Y el comando com dice, oye, voy a poner montaje y como le decía, yo no sé si os acordáis, como le decía que me cogiese el resultado de este comando para decírselo aquí. 341 00:29:20,579 --> 00:29:43,819 ¿Os acordáis que tenía que poner para decirle que ese ficherito es del comando anterior, la entrada del comando anterior, la salida del comando anterior? Pues lo que tengo que poner aquí es un guión, de forma que yo le digo, oye, no quiero que me muestres ni la columna, esto me muestra las tres columnas, no quiero que me muestres ni la columna 1 ni la columna 2. 342 00:29:43,819 --> 00:29:59,460 Y ahí tengo a Ana, ¿vale? Repito que lo que le he dicho es, oye, cógeme este comando, me lo vas a ejecutar, ¿vale? Pero se lo vas a pasar al siguiente comando, ¿sí? 343 00:29:59,460 --> 00:30:04,660 entonces esto es como si yo pusiese aquí el guión 344 00:30:04,660 --> 00:30:08,660 este guión lo que le estoy diciendo 345 00:30:08,660 --> 00:30:11,440 es que me coja el resultado del comando anterior 346 00:30:11,440 --> 00:30:14,339 esto es un ficherito temporal por decirlo así 347 00:30:14,339 --> 00:30:17,740 que lo escribo mejor que con esto 348 00:30:17,740 --> 00:30:19,559 esto es un ficherito temporal 349 00:30:19,559 --> 00:30:23,420 entonces me va a comparar este ficherito montaje 350 00:30:23,420 --> 00:30:26,380 con el resultado del comando anterior 351 00:30:26,380 --> 00:30:28,039 para eso le he puesto aquí un guión 352 00:30:28,039 --> 00:30:31,279 y es lo mismo que hemos hecho antes 353 00:30:31,279 --> 00:30:32,539 con el ficherito temporal 354 00:30:32,539 --> 00:30:35,359 lo que pasa que todo esto me ahorro tener que hacer 355 00:30:35,359 --> 00:30:36,440 ficheritos temporales 356 00:30:36,440 --> 00:30:38,480 ¿de acuerdo? ¿sí? 357 00:30:40,059 --> 00:30:41,539 pues aquí tenéis otro comando 358 00:30:41,539 --> 00:30:42,940 que nos pueden servir 359 00:30:42,940 --> 00:30:44,039 entonces 360 00:30:44,039 --> 00:30:47,259 para que no se me haga esto largo, lo dejo aquí 361 00:30:47,259 --> 00:30:48,940 y seguimos con la siguiente parte 362 00:30:48,940 --> 00:30:50,240 venga, un saludo