1 00:00:00,220 --> 00:00:04,379 Hola, ¿qué tal? En esta ocasión vamos a ver el comando CUT de Linux. 2 00:00:05,179 --> 00:00:09,640 El comando CUT sirve para cortar un fichero, para obtener solamente información. 3 00:00:10,660 --> 00:00:14,580 Corta línea a línea y los distintos registros que tenemos. 4 00:00:15,439 --> 00:00:18,600 Aquí vamos a considerar que trabajamos con ficheros de texto. 5 00:00:18,839 --> 00:00:22,579 Lo que nos suele interesar, ficheros de texto, que en realidad es un fichero de datos. 6 00:00:23,239 --> 00:00:28,440 Los ficheros de datos que metemos como astiplano nos podemos encontrar con dos tipos de formato. 7 00:00:28,440 --> 00:00:32,859 Por un lado, un formato en el que cada campo está separado por un delimitador 8 00:00:32,859 --> 00:00:36,020 Como en este caso, si os dais cuenta, tenemos el número 1 9 00:00:36,020 --> 00:00:38,740 El número en castellano y el número en inglés 10 00:00:38,740 --> 00:00:43,700 Cada uno de los campos está separado por el delimitador dos puntos 11 00:00:43,700 --> 00:00:46,159 En el caso del fichero ventas que hemos visto otras veces 12 00:00:46,159 --> 00:00:48,119 Estaba separado por el punto y coma, etc. 13 00:00:49,420 --> 00:00:50,759 Podemos encontrarnoslo así 14 00:00:50,759 --> 00:00:56,759 O podemos encontrarnos que los campos los reconoces 15 00:00:56,759 --> 00:00:59,399 conoces por la posición que ocupan, ¿vale? 16 00:00:59,460 --> 00:01:01,240 Entonces, en este caso, por ejemplo, 17 00:01:01,380 --> 00:01:04,099 como podemos tener 20, 30, son números hasta el 99, 18 00:01:04,640 --> 00:01:07,159 los dos primeros caracteres corresponden al número. 19 00:01:07,579 --> 00:01:11,680 A partir del carácter 3, ya corresponde al número en castellano. 20 00:01:11,939 --> 00:01:16,280 3, 3, 4, 5, 6, 7 y 8, hasta el 8. 21 00:01:16,420 --> 00:01:19,959 En el carácter 9, ya empieza el número en inglés, ¿vale? 22 00:01:20,400 --> 00:01:22,620 Muy bien, pues el comando cut, 23 00:01:23,480 --> 00:01:26,659 dependiendo si está organizado el fichero de una forma u otra, 24 00:01:26,760 --> 00:01:32,299 tiene distintas opciones. Vamos a ver la primera, que es con un fichero separado por un, que 25 00:01:32,299 --> 00:01:36,900 cada campo está separado por un delimitador. Entonces, aquí, si lo veis, lo primero que 26 00:01:36,900 --> 00:01:40,840 tenemos que indicar, igual que pasaba con sort, es cuál es el carácter delimitador. 27 00:01:41,359 --> 00:01:45,359 En nuestro caso, el delimitador son dos puntos. Entonces, nosotros vamos a decir sort menos 28 00:01:45,359 --> 00:01:51,040 de, comillas, dos puntos, ¿vale? Y luego vamos a decir qué campos, fill, queremos 29 00:01:51,040 --> 00:01:53,319 mostrar, entonces si por ejemplo 30 00:01:53,319 --> 00:01:55,340 solamente queremos mostrar el campo 31 00:01:55,340 --> 00:01:56,719 1 y el campo 32 00:01:56,719 --> 00:01:59,299 3, es decir, que diga el 33 00:01:59,299 --> 00:02:01,420 número y que diga el correspondiente 34 00:02:01,420 --> 00:02:03,260 en inglés, le tendríamos que decir que 35 00:02:03,260 --> 00:02:05,200 queremos el campo 36 00:02:05,200 --> 00:02:07,299 correspondiente al 1 y el campo correspondiente 37 00:02:07,299 --> 00:02:08,560 al 3, vale 38 00:02:08,560 --> 00:02:10,879 aquí si os dais cuenta 39 00:02:10,879 --> 00:02:13,120 lo tenemos hecho así, cut menos de 40 00:02:13,120 --> 00:02:15,159 dos puntos, vale, el carácter delimitador 41 00:02:15,159 --> 00:02:17,199 y los campos que queremos mostrar es el 42 00:02:17,199 --> 00:02:19,000 1, veis, y el 3 43 00:02:19,000 --> 00:02:21,219 que es en inglés, si solamente quisiéramos 44 00:02:21,219 --> 00:02:22,840 mostrar los números en castellano 45 00:02:22,840 --> 00:02:24,819 pues diríamos menos campo 2, vale 46 00:02:24,819 --> 00:02:26,599 es muy parecido al 47 00:02:26,599 --> 00:02:28,139 al 48 00:02:28,139 --> 00:02:31,120 al concepto del sort, lo que pasa 49 00:02:31,120 --> 00:02:33,060 es que si os dais cuenta tiene un poco de mala leche 50 00:02:33,060 --> 00:02:35,039 porque en el otro es menos t 51 00:02:35,039 --> 00:02:37,199 para el campo delimitador, menos k para indicar el campo 52 00:02:37,199 --> 00:02:38,419 y aquí es menos d 53 00:02:38,419 --> 00:02:41,000 del delimitador, menos f los campos 54 00:02:41,000 --> 00:02:42,680 vale, el campo puede ser 55 00:02:42,680 --> 00:02:44,919 indicar un solo campo o varias listas, vale 56 00:02:44,919 --> 00:02:47,240 del 1, o sea, desde el carácter 1 57 00:02:47,240 --> 00:02:49,139 y luego el campo 1 y el campo 3 58 00:02:49,139 --> 00:02:51,580 muy bien, vamos a practicar 59 00:02:51,580 --> 00:02:52,900 con un ejemplo, luego si eso 60 00:02:52,900 --> 00:02:54,319 seguimos con la otra opción 61 00:02:54,319 --> 00:02:56,060 entonces nosotros aquí tenemos 62 00:02:56,060 --> 00:02:59,020 el fichero frutería y el frutas 63 00:02:59,020 --> 00:03:00,659 que os acordáis que el frutería 64 00:03:00,659 --> 00:03:04,520 estaba separado por el delimitador 65 00:03:04,520 --> 00:03:06,659 punto y coma, entonces si yo por ejemplo 66 00:03:06,659 --> 00:03:07,800 aquí solamente quiero 67 00:03:07,800 --> 00:03:10,719 el precio, perdón 68 00:03:10,719 --> 00:03:12,599 la fruta y si está 69 00:03:12,599 --> 00:03:14,659 uno en oferta, pues yo tendría que 70 00:03:14,659 --> 00:03:15,379 hacer cut 71 00:03:15,379 --> 00:03:18,560 me cortas, hemos quedado 72 00:03:18,560 --> 00:03:27,900 que el campo delimitador es el guión vale y el campo que quiero mostrar es el 1 que 73 00:03:27,900 --> 00:03:32,979 es el correspondiente a peras y hemos dicho si estaban en oferta pues el campo 3 y cuál 74 00:03:32,979 --> 00:03:39,560 es el fichero frutería vale y entonces aquí me muestra las peras y está en oferta si 75 00:03:39,560 --> 00:03:47,340 solamente quiero las peras y el precio pues sería el 1 y el 2 frutería y si solamente 76 00:03:47,340 --> 00:03:58,530 quisiera lo que es la fruta, pondría el 1, vale, y solo me saldría la fruta, muy bien, 77 00:03:58,530 --> 00:04:03,270 este caso es muy fácil, lo que pasa es que no nos debemos liar con el sort, pero bueno 78 00:04:03,270 --> 00:04:06,930 aquí hay un truco, como sabes que el comando es cut, pues miras el man, y ya enseguida 79 00:04:06,930 --> 00:04:12,569 lo sacas, muy bien, ahora vamos a coger esta otra opción, que es que cada campo ocupa 80 00:04:12,569 --> 00:04:14,830 unos caracteres, unas columnas, digamos, ¿no? 81 00:04:15,669 --> 00:04:18,709 Si unos campos ocupan las columnas. 82 00:04:19,069 --> 00:04:24,550 En este caso hemos visto ese, pues que el 1 y el 2 corresponden al número. 83 00:04:25,149 --> 00:04:29,069 Entonces, si nosotros lo que queremos es mostrar solamente los números en castellano, 84 00:04:29,069 --> 00:04:32,449 nos vamos a dar cuenta que el 1, 2 corresponden al número, 85 00:04:32,589 --> 00:04:38,949 y a partir del 3, 3, 4, 5, 6, 7 y 8 corresponden al número en castellano. 86 00:04:38,949 --> 00:04:50,709 Entonces yo aquí tengo que decirle cut menos c porque queremos que nos cuente en caracteres, o sea que vamos a tener en cuenta caracteres, no el carácter del mirador, sino que estamos hablando de caracteres, ¿vale? 87 00:04:51,129 --> 00:04:55,949 Y quiero que me saques desde el 3 hasta el 8, ¿vale? Y ya me lo saca. 88 00:04:56,769 --> 00:05:06,230 Y en el caso de que yo quisiera mostrar el 1 y en inglés, tendría que decirle muéstrame el 1 y el 2 y luego muéstrame a partir del 9, ¿vale? 89 00:05:06,230 --> 00:05:08,990 entonces diría cut menos c 90 00:05:08,990 --> 00:05:11,470 y le digo dame el intervalo del 1 al 2 91 00:05:11,470 --> 00:05:12,589 coma 92 00:05:12,589 --> 00:05:14,389 9 al 14 93 00:05:14,389 --> 00:05:16,990 si tuviera muchos campos podría ir colocándolos así 94 00:05:16,990 --> 00:05:18,529 esto es muy importante 95 00:05:18,529 --> 00:05:20,470 que veamos que es distinto 96 00:05:20,470 --> 00:05:22,769 o sea si nosotros tenemos organizado este fichero así 97 00:05:22,769 --> 00:05:25,629 y utilizamos el formato de longitud fija 98 00:05:25,629 --> 00:05:26,889 no nos va a salir lo que queremos 99 00:05:26,889 --> 00:05:28,149 porque si os dais cuenta 100 00:05:28,149 --> 00:05:30,449 aquí nuestro carácter número 101 00:05:30,449 --> 00:05:34,050 a ver 1, 2, 3, 4, 5, 6, 7 y 8 102 00:05:34,050 --> 00:05:35,709 en este caso es una o 103 00:05:35,709 --> 00:05:44,509 en esta caso una T, pero aquí son dos puntos y aquí es una R, ¿vale? No corresponde. Vamos a probarlo con los ejemplos que tenemos, ¿vale? 104 00:05:45,050 --> 00:05:53,550 Nosotros tenemos aquí frutas 2, vamos a ver cómo he organizado frutas 2, ¿vale? Frutas 2 he organizado la misma información, pero en campo. 105 00:05:53,550 --> 00:06:08,410 Si os dais cuenta, el precio corresponde, digo, perdón, la fruta corresponde al carácter 1, 2, 3, 4, 5, 6, 7, 8 y 9, porque a partir del décimo ya es el precio, ¿vale? 106 00:06:09,709 --> 00:06:16,449 Entonces, el precio sería 10, 11, 12, 13 y 14, porque ya el 15 es la oferta. 107 00:06:16,449 --> 00:06:33,709 Entonces, si yo hago cut del 1, perdón, menos c para decirle que es la opción, desde el 1 hasta, yo aquí he puesto, digo 2, 4, 6, 8 y 1, 9, ¿no? 108 00:06:33,709 --> 00:06:52,230 desde el 1 hasta el 9 de frutas 2, voy a mostrar solamente esto, si yo pongo desde el 10 hasta, hemos quedado 10, 11, 12, 13 y 14, nos va a mostrar el precio, 109 00:06:52,230 --> 00:07:06,379 y si pongo desde el 14 hasta, perdón, desde el 15, que ya sería la oferta, 15 y 16, incluso puedo poner si queréis 17, 110 00:07:06,540 --> 00:07:12,399 pues me quiero ir, vale, me saldría esto, muy bien, ahora quiero sacar dos, es decir, yo quiero sacar, por ejemplo, 111 00:07:12,740 --> 00:07:21,300 el precio, el nombre y la oferta, entonces hemos quedado que el nombre era, tenemos que hacer cut menos c, siempre, 112 00:07:21,300 --> 00:07:23,839 y el nombre es desde el 1 hasta 113 00:07:23,839 --> 00:07:25,600 hemos quedado que era el 9, ¿verdad? 114 00:07:25,680 --> 00:07:26,879 porque el precio empezaba en el 10 115 00:07:26,879 --> 00:07:28,360 y 116 00:07:28,360 --> 00:07:31,779 ahora quiero que me des los campos 117 00:07:31,779 --> 00:07:33,500 del 15 118 00:07:33,500 --> 00:07:35,240 porque hemos dicho que quiero que sea la oferta 119 00:07:35,240 --> 00:07:37,800 del 15 al 17, ¿veis que pongo una comita? 120 00:07:38,699 --> 00:07:40,000 y ya pongo el fichero 121 00:07:40,000 --> 00:07:43,259 uy, me he equivocado 122 00:07:43,259 --> 00:07:44,720 tengo que poner frutas 123 00:07:44,720 --> 00:07:46,300 2, ¿vale? 124 00:07:46,519 --> 00:07:47,620 y ahí me saldría 125 00:07:47,620 --> 00:07:50,300 muy bien, pues con esto 126 00:07:50,300 --> 00:07:53,480 Tendríamos el comando cut 127 00:07:53,480 --> 00:07:55,399 Espero que os haya interesado 128 00:07:55,399 --> 00:07:56,120 Hasta luego