{"id":247,"date":"2023-08-31T12:46:22","date_gmt":"2023-08-31T10:46:22","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=247"},"modified":"2025-03-07T17:43:17","modified_gmt":"2025-03-07T15:43:17","slug":"1-11-6-join","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/1-11-6-join\/","title":{"rendered":"1.11.6. \u00ab<em>join<\/em>\u00bb"},"content":{"rendered":"<p>El comando <code>join<\/code>\u00a0permite unir dos ficheros de texto en uno usando una columna como clave com\u00fan. Por defecto,\u00a0<code>join<\/code>\u00a0asume que el separador de campos es el espacio. El comando <code>join<\/code> es parecido al comando <code>paste<\/code> donde la columna com\u00fan, y que se utiliza como referencia entre ambas tablas, no queda duplicada\u00a0y no requiere que un elemento est\u00e9 en los dos archivos.\u00a0Por otra parte, lo que s\u00ed requiere <code>join<\/code> es que ambos archivos est\u00e9n ordenados por la columna que se quiere utilizar como clave. Imaginemos que tenemos los dos ficheros siguientes:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ cat file1.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">num id atributo\r\n\r\n1 CDKL3 chr5\r\n\r\n2 CLN8 chr8\r\n\r\n5 SOCS2 chr4<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ cat file2.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">num id atributo\r\n\r\n1 AGRN +\r\n\r\n3 CDKL3 +\r\n\r\n5 CLN8 -\r\n\r\n9 FCHO +\r\n\r\n<\/pre>\n<p>El comando <code>join<\/code> nos permite unir estas dos tablas en una sola utilizando el campo <code>num<\/code> (la primera columna de cada uno de los ficheros) como la clave de uni\u00f3n:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ join file1.txt file2.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">num id atributo id atributo\r\n\r\n1 CDKL3 chr5 AGRN +\r\n\r\n5 SOCS2 chr4 CLN8 -<\/pre>\n<p>Por defecto, <code>join<\/code> asume que la clave de uni\u00f3n es la primera columna, pero esto se puede modificar:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ join -1 2 -2 2 file1.txt file2.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">id num atributo num atributo\r\n\r\nCDKL3 1 chr5 3 +\r\n\r\nCLN8 2 chr8 5 -<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>El comando join\u00a0permite unir dos ficheros de texto en uno usando una columna como clave com\u00fan. Por defecto,\u00a0join\u00a0asume que el separador de campos es el espacio. El comando join es parecido al comando paste donde la columna com\u00fan, y que se utiliza como referencia entre ambas tablas, no queda duplicada\u00a0y no requiere que un elemento [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages\/247"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/comments?post=247"}],"version-history":[{"count":10,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages\/247\/revisions"}],"predecessor-version":[{"id":1308,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages\/247\/revisions\/1308"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/media?parent=247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}