1 00:00:00,240 --> 00:00:07,599 Hola, ¿qué tal? Vamos a ver el comando sort de Linux. El comando sort sirve para ordenar ficheros. 2 00:00:08,839 --> 00:00:15,480 Si veis la sintaxis, el comando es sort en minúsculas, por supuesto, las opciones, diferentes opciones que vamos a ver, 3 00:00:16,000 --> 00:00:22,199 el fichero o ficheros que queremos ordenar y luego tenemos una opción especial que es la opción menos o, salida, 4 00:00:22,199 --> 00:00:29,300 en la que voy a indicar si yo quiero que el resultado de ordenar el fichero se guarde en un fichero de salida. 5 00:00:29,300 --> 00:00:34,119 Lo haríamos con la opción menos o. Sabemos hacerlo redireccionando, pero aquí podríamos utilizar esta opción. 6 00:00:34,679 --> 00:00:38,759 Muy bien, pues vamos a hacer un repasito a las opciones más importantes. 7 00:00:39,759 --> 00:00:45,219 Sort, tal cual, por defecto, y pones un fichero, te ordena alfabéticamente desde el primer carácter. 8 00:00:45,380 --> 00:00:47,520 Es como si cada carácter fuera una columna. 9 00:00:48,039 --> 00:00:57,320 Entonces te ordena alfabéticamente, de manera ascendente, el fichero desde el primer carácter, en todas las filas. 10 00:00:57,320 --> 00:01:02,119 Si ponemos la opción menos R, lo que va a hacer es ordenarnos descendentemente 11 00:01:02,119 --> 00:01:05,799 Es decir, de mayor a menor, ¿de acuerdo? 12 00:01:05,879 --> 00:01:11,079 O sea, del 9 al 0, o en el caso de las letras sería de la Z a la A 13 00:01:11,079 --> 00:01:13,980 Esa es la opción menos R 14 00:01:13,980 --> 00:01:18,920 Muy bien, la opción menos F lo que hace es que no nos distingue mayúsculas de minúsculas 15 00:01:18,920 --> 00:01:22,859 Muy bien, esto es en el caso de los ficheros normales, ¿vale? 16 00:01:22,859 --> 00:01:27,040 Que no hemos hecho nada especial, simplemente que ordenamos, no lo tratamos de ninguna manera 17 00:01:27,040 --> 00:01:29,219 y ordenamos el primer carácter. 18 00:01:29,680 --> 00:01:32,659 Muy bien, también nosotros podemos tener los ficheros de texto 19 00:01:32,659 --> 00:01:36,500 como si fueran un fichero de datos, como si estuviéramos guardando una tabla. 20 00:01:37,700 --> 00:01:41,500 Muchos ficheros CSV son así, y son ficheros que cada campo 21 00:01:41,500 --> 00:01:45,500 está separado por un delimitador, y es como si fueran columnas diferentes. 22 00:01:46,140 --> 00:01:49,019 Entonces, el comando sort, por ejemplo, en este fichero de ventas, 23 00:01:49,379 --> 00:01:52,540 el comando sort lo que haríamos es, si nosotros queremos ordenar 24 00:01:52,540 --> 00:01:56,340 por el tercer campo, por ejemplo, le diríamos, este fichero es un fichero 25 00:01:56,340 --> 00:01:59,140 que está separado por el delimitador punto y coma 26 00:01:59,140 --> 00:02:03,700 y cada campo es un contenido diferente 27 00:02:03,700 --> 00:02:06,519 entonces si nosotros queremos ordenar el fichero ventas 28 00:02:06,519 --> 00:02:09,639 le diríamos ordename por el delimitador punto y coma 29 00:02:09,639 --> 00:02:12,840 eso quiere decir que este fichero lo veremos más adelante 30 00:02:12,840 --> 00:02:14,740 está separado por punto y coma cada campo 31 00:02:14,740 --> 00:02:16,620 y quiero que me ordenes por el campo 3 32 00:02:16,620 --> 00:02:21,080 muy bien, vamos a ver todo esto con ejemplos 33 00:02:21,080 --> 00:02:24,780 nosotros tenemos un fichero que se llama frutería 34 00:02:24,780 --> 00:02:34,939 Este fichero frutería, si veis, tiene pues frutas, el precio de la fruta concreta, el precio al kilo y si están ofertando 35 00:02:34,939 --> 00:02:37,939 Si nosotros hacemos directamente sort frutería 36 00:02:37,939 --> 00:02:43,439 Lo que nos vamos a encontrar es que nos lo ordena alfabéticamente desde el primer carácter 37 00:02:43,439 --> 00:02:46,960 O sea, primero los kiwis, después las manzanas, naranjas, peras 38 00:02:46,960 --> 00:02:50,740 Y si veis, peras va antes de plátanos porque la e va antes que la l 39 00:02:50,740 --> 00:02:51,919 Y por último las uvas 40 00:02:51,919 --> 00:03:01,219 Si yo pongo sort con la opción menos r de reverse, lo va a ordenar justamente en orden descendente, primero las uvas y por último los kiwis. 41 00:03:01,379 --> 00:03:12,139 Muy bien, si yo cojo esto y lo guardo, le doy la opción menos o y lo meto, por ejemplo, en frutas ordenadas, aquí, ¿de acuerdo? 42 00:03:12,139 --> 00:03:14,439 no me muestra nada por pantalla 43 00:03:14,439 --> 00:03:17,939 y si yo hago un cat de fruit ordenada 44 00:03:17,939 --> 00:03:22,080 me va a salir, veis, el resultado de ordenarlo descendentemente 45 00:03:22,080 --> 00:03:24,300 ¿Vale? Es lo mismo que hace el redireccionamiento 46 00:03:24,300 --> 00:03:28,139 Muy bien, ahora vamos a pensar que este fichero 47 00:03:28,139 --> 00:03:29,879 no lo queremos ordenar por el primer carácter 48 00:03:29,879 --> 00:03:32,879 sino que hemos visto que, por ejemplo, lo queremos ordenar por precio 49 00:03:32,879 --> 00:03:38,139 ¿Vale? Entonces, si nosotros volvemos a revisar el contenido del fichero 50 00:03:38,139 --> 00:03:42,479 el contenido del fichero frutería 51 00:03:42,479 --> 00:03:45,000 Nos vamos a encontrar que el primer campo es fruta 52 00:03:45,000 --> 00:03:46,860 El segundo campo es precio 53 00:03:46,860 --> 00:03:48,780 Y el tercer campo si está en oferta 54 00:03:48,780 --> 00:03:50,939 Entonces nosotros queremos ordenar 55 00:03:50,939 --> 00:03:52,159 El fichero frutería 56 00:03:52,159 --> 00:03:55,139 ¿Vale? Pero nuestro fichero es un fichero especial 57 00:03:55,139 --> 00:03:56,740 Porque es un fichero de datos 58 00:03:56,740 --> 00:03:57,919 Separados por delimitador 59 00:03:57,919 --> 00:03:59,800 ¿Cuál es el delimitador? El guión 60 00:03:59,800 --> 00:04:03,400 Entonces menos t de delimitador 61 00:04:03,400 --> 00:04:05,020 Y le ponemos 62 00:04:05,020 --> 00:04:07,020 El carácter que es delimitador 63 00:04:07,020 --> 00:04:07,919 Que es el guión 64 00:04:07,919 --> 00:04:09,180 Aquí es como si hiciera 65 00:04:09,180 --> 00:04:11,240 plas, una raya y pusiera columna 66 00:04:11,240 --> 00:04:12,919 columna y columna, vale 67 00:04:12,919 --> 00:04:15,219 entonces el delimitador es el t 68 00:04:15,219 --> 00:04:17,000 y ahora le tengo que decir por qué campo 69 00:04:17,000 --> 00:04:18,639 quieres ordenarme 70 00:04:18,639 --> 00:04:20,420 en mi caso es 71 00:04:20,420 --> 00:04:23,339 el segundo campo, fruta sería el primer campo 72 00:04:23,339 --> 00:04:25,199 precio el segundo campo, tercero 73 00:04:25,199 --> 00:04:27,399 en oferta, entonces el dos 74 00:04:27,399 --> 00:04:29,120 entonces primero 75 00:04:29,120 --> 00:04:31,019 nos van a aparecer las manzanas, después 76 00:04:31,019 --> 00:04:33,060 van a aparecer las naranjas y fijaros 77 00:04:33,060 --> 00:04:35,000 que entre uvas y kiwi 78 00:04:35,000 --> 00:04:37,160 van antes las uvas que el kiwi 79 00:04:37,160 --> 00:04:38,160 vale 80 00:04:38,160 --> 00:04:46,240 Si nosotros quisiéramos ordenar por oferta, pues primero nos saldrían, sería por el campo número 3 81 00:04:46,240 --> 00:04:51,319 Y primero nos aparecería los nos y después los is 82 00:04:51,319 --> 00:04:54,160 Muy bien, pero hoy vamos a hablar del fichero de ventas 83 00:04:54,160 --> 00:04:59,100 Si os acordáis del fichero de ventas, que lo tengo yo aquí, ventas 2 84 00:04:59,100 --> 00:05:03,860 Fijaros que era un fichero que tenía, es un fichero separado por el delimitador punto y coma 85 00:05:03,860 --> 00:05:07,339 Y tenemos que el primer campo es comercial, producto, precio 86 00:05:07,339 --> 00:05:16,019 Si nosotros queremos ordenar el fichero por país, por ejemplo, le diríamos, quiero ordenar el fichero ventas, ¿vale? 87 00:05:18,100 --> 00:05:19,540 Ventas 2.txt. 88 00:05:19,639 --> 00:05:24,959 Y ahora, si yo hago solamente esto, me va a ordenar por la p, después por la e, ¿vale? 89 00:05:24,980 --> 00:05:27,839 Por el primer carácter, segundo carácter, pero yo quiero ordenar por país. 90 00:05:28,420 --> 00:05:32,040 Entonces, lo primero que me va a preguntar, ¿qué delimitador es? 91 00:05:32,040 --> 00:05:36,860 Menos t, y el delimitador hemos quedado que es punto y coma, punto y coma. 92 00:05:37,339 --> 00:06:00,000 Y ahora, ¿qué campo? ¿Por qué campo quieres ordenar? ¿Por qué campo quiero ordenar? Por país. 1, 2, 3, 4 y 5. Por el campo número 5. Y el fichero. ¿Vale? Entonces, veremos que primero nos va a salir Canadá, es un fichero largo. Canadá, antes Inglaterra, aquí Italia, etcétera, etcétera. 93 00:06:00,000 --> 00:06:02,459 vale, veis, Francia y arriba del todo está Canadá 94 00:06:02,459 --> 00:06:04,120 si queréis lo podemos hacer 95 00:06:04,120 --> 00:06:06,259 con un barra more 96 00:06:06,259 --> 00:06:08,420 para que lo veamos 97 00:06:08,420 --> 00:06:10,360 paginado, veis, primero vemos Canadá 98 00:06:10,360 --> 00:06:12,459 luego vamos a ver 99 00:06:12,459 --> 00:06:13,639 es que es un fichero larguito 100 00:06:13,639 --> 00:06:16,480 vamos a ver Estados Unidos, después de Estados Unidos 101 00:06:16,480 --> 00:06:17,759 vamos a ver España 102 00:06:17,759 --> 00:06:20,360 después de España, Francia 103 00:06:20,360 --> 00:06:22,839 y lo que hemos visto antes, Inglaterra 104 00:06:22,839 --> 00:06:23,699 e Italia 105 00:06:23,699 --> 00:06:26,480 vale, y bueno, con esto tendríamos 106 00:06:26,480 --> 00:06:28,339 todo lo que podemos hacer con el comando sort 107 00:06:28,339 --> 00:06:29,980 Que ya veréis que es muy útil y muy interesante 108 00:06:29,980 --> 00:06:30,699 Hasta luego