{"id":235,"date":"2023-08-31T12:30:19","date_gmt":"2023-08-31T10:30:19","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=235"},"modified":"2025-03-07T17:39:11","modified_gmt":"2025-03-07T15:39:11","slug":"1-11-4-sort","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/1-11-4-sort\/","title":{"rendered":"1.11.4. \u00ab<em>sort<\/em>\u00bb"},"content":{"rendered":"<p>Como su nombre indica, en ingl\u00e9s, este comando se utiliza para ordenar el contenido de los archivos de entrada. \u00bfOrden alfab\u00e9tico y orden num\u00e9rico? Posible. \u00bfQu\u00e9 tal ordenar una columna espec\u00edfica? Posible. \u00bfOrden de clasificaci\u00f3n m\u00faltiple prioritario? Posible. \u00bfAleatorio? \u00bf\u00danico? Muchas caracter\u00edsticas son compatibles con este poderoso comando.<\/p>\n<p>Se muestran a continuaci\u00f3n las opciones de uso com\u00fan. Los ejemplos se discutir\u00e1n en secciones posteriores.<\/p>\n<ul>\n<li><code>-n<\/code> ordenar num\u00e9ricamente.<\/li>\n<li><code>-g<\/code> ordenaci\u00f3n num\u00e9rica general.<\/li>\n<li><code>-V<\/code> ordenar por versi\u00f3n (consciente de los n\u00fameros dentro del texto).<\/li>\n<li><code>-h<\/code> ordenar n\u00fameros legibles para humanos (por ejemplo: 4K, 3M, 12G, etc.).<\/li>\n<li><code>-k<\/code> ordenar mediante clave (ordenaci\u00f3n de columna). Similar a -f del comando <em>cut<\/em>.<\/li>\n<li><code>-t<\/code> separador de campo de un solo byte de car\u00e1cter (el valor predeterminado es la transici\u00f3n de no espacio en blanco a espacio en blanco).<\/li>\n<li><code>-u<\/code> ordenar de forma \u00fanica.<\/li>\n<li><code>-R<\/code> ordenar aleatoriamente.<\/li>\n<li><code>-r<\/code> invertir la salida de ordenaci\u00f3n.<\/li>\n<li><code>-o<\/code> redirigir el resultado ordenado al archivo especificado.<\/li>\n<\/ul>\n<p><strong>\u00a0<\/strong>De forma predeterminada, <code>sort<\/code>\u00a0ordena la entrada lexicogr\u00e1ficamente en orden ascendente. Puede utilizar la opci\u00f3n -r para invertir los resultados.<\/p>\n<p><strong>\u00a0<\/strong># Orden por defecto<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ printf 'banana\\ncereza\\nfresa' | sort<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">banana\r\n\r\ncerera\r\n\r\nfresa\r\n\r\n<\/pre>\n<p># Ordena e imprime en orden inverso<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ printf 'hotel\\nresidencia\\nesperanza' | sort -r\r\n<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">residencia\r\n\r\nhotel\r\n\r\nesperanza\r\n<\/pre>\n<p># Ordena num\u00e9ricamente e imprime<\/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<\/pre>\n<p># Ordena los n\u00fameros a la manera humana<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort -hr fichero.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 teniendo en cuenta la versi\u00f3n<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort -V tiempos.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<\/pre>\n<p># Genera el siguiente fichero<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ cat modelo.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 teniendo en cuenta los n\u00fameros de la segunda columna<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort -k2,2n modelo.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>Por ejemplo, podemos ordenar los transcriptos de la siguiente manera:<\/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 el ejemplo anterior, al utilizar el comando <code>sort<\/code>, notamos que la lista resultante conten\u00eda transcritos repetidos. Para eliminar l\u00edneas duplicadas consecutivas, podemos emplear el comando <code>uniq<\/code>. Es importante recordar que, para una eliminaci\u00f3n completa de duplicados, es necesario ordenar el archivo con<code>sort<\/code> antes de utilizar <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>Como su nombre indica, en ingl\u00e9s, este comando se utiliza para ordenar el contenido de los archivos de entrada. \u00bfOrden alfab\u00e9tico y orden num\u00e9rico? Posible. \u00bfQu\u00e9 tal ordenar una columna espec\u00edfica? Posible. \u00bfOrden de clasificaci\u00f3n m\u00faltiple prioritario? Posible. \u00bfAleatorio? \u00bf\u00danico? Muchas caracter\u00edsticas son compatibles con este poderoso comando. Se muestran a continuaci\u00f3n las opciones de [&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\/235"}],"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=235"}],"version-history":[{"count":11,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages\/235\/revisions"}],"predecessor-version":[{"id":1306,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/pages\/235\/revisions\/1306"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/es\/wp-json\/wp\/v2\/media?parent=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}