La sort
utilidad de texto GNU presenta una -R
opción no estándar para aleatorizar líneas de entrada.
OSX sort
no tiene esta extensión. ¿Hay una funcionalidad similar disponible en otro filtro de texto?
Si lo desea, puede instalar GNU a sort
través del paquete coreutils de GNU sobre Homebrew , que es un administrador de paquetes para OS X.
Ejecutar esto instalaría Homebrew.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Luego solo siga las instrucciones de instalación. Cuando se instala Homebrew, ejecuta
brew install coreutils
Esto instalará GNU sort como gsort
, por lo que puede usarlo como sort
en cualquier GNU Linux.
Alternativamente, eche un vistazo a estas preguntas de desbordamiento de pila, que mencionan un par de métodos:
¿Cómo puedo aleatorizar las líneas en un archivo usando herramientas estándar en Redhat Linux?
¿Cómo puedo mezclar las líneas de un archivo de texto en la línea de comandos de Unix?
O eche un vistazo a esta página de commandlinefu.com:
En OS X, si no desea instalar homebrew (pero realmente debería hacerlo), puede usar
perl
oruby
:o
fuente
Uso
shuf
osort
delcoreutils
paquete, pero luego súmale/usr/local/bin
a tuPATH
en el~/.bashrc
archivo, por ejemplo:Alternativamente, puedes probar
ex
:Fuente: ¿Cómo barajar una lista en vim?
fuente
Puede instalar el
rl
comando a través de homebrew (brew install randomize-lines
).Es bastante rápido y tiene opciones para limitar el número de elementos devueltos, así como especificar el delimitador (espacio en lugar de avance de línea, por ejemplo).
(Ver también https://stackoverflow.com/a/42056195/43615 .)
fuente