{"id":699,"date":"2023-10-18T12:31:12","date_gmt":"2023-10-18T10:31:12","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=699"},"modified":"2025-02-10T21:19:04","modified_gmt":"2025-02-10T19:19:04","slug":"1-11-4-sort","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/1-11-4-sort\/","title":{"rendered":"1.11.4. \u00ab<em>sort<\/em>\u00bb"},"content":{"rendered":"<p>Com el seu nom indica, en angl\u00e8s, aquesta ordre s\u2019utilitza per ordenar el contingut dels arxius d\u2019entrada. Ordre alfab\u00e8tic i ordre num\u00e8ric? Possible. Qu\u00e8 tal ordenar una columna espec\u00edfica? Possible. Ordre de classificaci\u00f3 m\u00faltiple prioritari? Possible. \u00bfAleatori? \u00bf\u00danic? Moltes caracter\u00edstiques s\u00f3n compatibles amb aquesta ordre tan poderosa.<\/p>\n<p>Es mostren a continuaci\u00f3 les opcions d\u2019\u00fas com\u00fa. Els exemples es discutiran en seccions posteriors.<\/p>\n<ul>\n<li><code>-n<\/code> ordenar num\u00e8ricament.<\/li>\n<li><code>-g<\/code> ordenaci\u00f3 num\u00e8rica general.<\/li>\n<li><code>-V<\/code> ordenar per versi\u00f3 (conscient dels n\u00fameros dins del text).<\/li>\n<li><code>-h<\/code> ordenar n\u00fameros llegibles per a humans (per exemplo: 4K, 3M, 12G, etc.).<\/li>\n<li><code>-k<\/code> ordenar mitjan\u00e7ant clau (ordenaci\u00f3 de columna). Similar a -f de l&#8217;ordre <em>cut<\/em>.<\/li>\n<li><code>-t<\/code> separador de camp d\u2019un sol byte de car\u00e0cter (el valor predeterminat \u00e9s la transici\u00f3 de no espai en blanc a espai en blanc).<\/li>\n<li><code>-u<\/code> ordenar de forma \u00fanica.<\/li>\n<li><code>-R<\/code> ordenar aleat\u00f2riament.<\/li>\n<li><code>-r<\/code> invertir la sortida d&#8217;ordenaci\u00f3.<\/li>\n<li><code>-o<\/code> redirigir el resultat ordenat a l&#8217;arxiu especificat.<\/li>\n<\/ul>\n<p>De forma predeterminada, <code>sort<\/code> ordena l\u2019entrada lexicogr\u00e0ficament en ordre ascendent. Pot utilitzar l\u2019opci\u00f3 -r per invertir els resultats.<\/p>\n<p># Ordre per defecte<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ printf 'banana\\ncirera\\nmaduixa' | sort<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">banana\r\n\r\ncirera\r\n\r\nmaduixa\r\n\r\n<\/pre>\n<p># Ordena i imprimeix en ordre invers<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ printf 'hotel\\nresidencia\\nesperanza' | sort -r<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">residencia\r\n\r\nhotel\r\n\r\nesperanza\r\n\r\n<\/pre>\n<p># Ordena num\u00e8ricament i imprimeix<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ printf '20\\n2\\n3' | sort -n<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">2\r\n\r\n3\r\n\r\n20\r\n<\/pre>\n<p># Ordena els n\u00fameros a la manera humana<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort -hr fitxer.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">1.4G\u00a0\u00a0\u00a0 genomica\r\n\r\n316M\u00a0\u00a0\u00a0 proteomica\r\n\r\n746K\u00a0\u00a0\u00a0 wdl.log\r\n\r\n104K\u00a0\u00a0\u00a0 gromacs.log\r\n\r\n20K\u00a0\u00a0\u00a0\u00a0 sample.txt<\/pre>\n<p># Ordena tenint en compte la versi\u00f3<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort -V temps.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">3m20.058s\r\n\r\n3m42.833s\r\n\r\n4m3.083s\r\n\r\n4m11.130s\r\n\r\n5m35.363s\r\n<\/pre>\n<p># Genera el seg\u00fcent fitxer<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ cat model.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">GWAS\u00a0\u00a0 50\r\n\r\nNGS\u00a0\u00a0\u00a0 5\r\n\r\nRNA-seq\u00a0\u00a0 2\r\n\r\nChIP-Seq\u00a0\u00a0 25\r\n\r\nWES\u00a0 10<\/pre>\n<p># Ordena tenint en compte els n\u00fameros de la segona columna<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort -k2,2n model.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">RNA-seq\u00a0\u00a0 2\r\n\r\nNGS\u00a0\u00a0\u00a0 5\r\n\r\nWES\u00a0 10\r\n\r\nChIP-Seq\u00a0\u00a0 25\r\n\r\nGWAS\u00a0\u00a0 50\r\n<\/pre>\n<p>Per exemple, podem ordenar els transcriptors de la manera seg\u00fcent:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ cat hg38_RefSeq | cut -f 2,4| sort<\/pre>\n<p>En l\u2019exemple anterior, en utilitzar l\u2019ordre <code>sort<\/code> notem que la llista resultant contenia transcrits repetits. Per eliminar l\u00ednies duplicades consecutives, podem utilitzar l\u2019ordre <code>uniq<\/code>. \u00c9s important recordar que, per a una eliminaci\u00f3 completa de duplicats, cal ordenar l\u2019arxiu amb <code>sort<\/code> abans d\u2019utilitzar <code>uniq<\/code>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ cat hg38_RefSeq | cut -f 2,4| sort -2rn | uniq<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Com el seu nom indica, en angl\u00e8s, aquesta ordre s\u2019utilitza per ordenar el contingut dels arxius d\u2019entrada. Ordre alfab\u00e8tic i ordre num\u00e8ric? Possible. Qu\u00e8 tal ordenar una columna espec\u00edfica? Possible. Ordre de classificaci\u00f3 m\u00faltiple prioritari? Possible. \u00bfAleatori? \u00bf\u00danic? Moltes caracter\u00edstiques s\u00f3n compatibles amb aquesta ordre tan poderosa. Es mostren a continuaci\u00f3 les opcions d\u2019\u00fas com\u00fa. [&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\/wp-json\/wp\/v2\/pages\/699"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/comments?post=699"}],"version-history":[{"count":9,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/699\/revisions"}],"predecessor-version":[{"id":1250,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/699\/revisions\/1250"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/media?parent=699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}