Unsort
miércoles, 26 de octubre de 2011Para ordenar una lista de elementos en un terminal bash disponemos de sort, la cual ordena la lista que le pasemos. Podemos ordenar alfabéticamente los archivos de un directorio o una lista devuelta por otro programa con#> echo -e "boro\nzirconio\nnitrogeno\nhelio\nplomo" | sort
boro
helio
nitrogeno
plomo
zirconio
Pero ¿y para desordenar una lista ?
Copia la siguiente línea en el archivo ~/.alias de tu máquina
alias unsort='while read linea; do echo "$RANDOM::$linea"; done | sort -n|sed "s/[0-9]*:://"'
Que viene a decir: a cada línea recibida le anteponemos un número al azar, ordenamos las líneas según ese número y devuelve esa lista después de quitarle dicho número.
A continuación puedes hacer#> echo -e "boro\nzirconio\nnitrogeno\nhelio\nplomo" | sort | unsort
nitrogeno
zirconio
boro
helio
plomo
O por ejemplo escoger 5 archivos al azar en un directorio conls -1 | unsort | head -n5
Juan
#1/ 27 de October/2011 a 22:23:09
Otros comentarios de «Juan»
jejeje mira que te comes el tarro en cosas aparentemente poco prácticas... me encanta, a mi también me pasa.
Bueno, venía a decirte otra cosa. Ya había visto en tu "acerca de" que coincidíamos en algunas tonterías, como lo de capataz agrícola (yo soy agrónomo), lo de las fotos de bichos, y lo de la informática... pero no me había fijado que habías trabajado en Pyrostudios.
Terminando, quería invitarte a que te pasaras por el proyecto de codigo libre en el que colaboro desde hace algo más de un año, bueno, desde que empezó, por si lo vieras y te entrara el gusanillo... siempre andamos cortos de gente :)
Es este: http://code.google.com/p/quimeraengine/
Si te apeteciera o dudas y quieres más info, no tienes más que comentarmelo.
Un saludo, Trebol
Trebol-a
#2/ 28 de October/2011 a 00:35:52
Otros comentarios de «Trebol-a»
Con esta tonterias dá gusto jugar porque nadie sale herido!! jeje
Gracias Juan por la invitación, prometo echarle un vistazo al proyecto.
Sr. XX-Terror
#3/ 31 de October/2011 a 04:59:44
Otros comentarios de «Sr. XX-Terror»
Reinvestaste el shuffle. En algunos sistemas se llama "sufl", en otros "sort -R". Tu sistema es ingenioso, pero fallará ordenando listas de más de 32767 elementos, paquete.
Trebol-a
#4/ 31 de October/2011 a 09:42:59
Otros comentarios de «Trebol-a»
No, si al final va resultar que está bash lleno de desordenadores. Curiosamente uso a menudo el "sort -r" y ni se me había ocurrido mirar las opciones de Sort.
A ver si para la próxima escribes tu antes el comentario que yo el post y me ahorro unas líneas! :D
17 de November, 2024 @ 15:47