85 votos

¿Instalar shuf en OS X?

Ubuntu Linux tiene una gran herramienta llamada shuf, que funciona como head excepto que te da diez líneas al azar. No he podido encontrarla en Homebrew. ¿Cuál es la forma más sencilla de instalarla en OS X?

134voto

Jay Thompson Puntos 1930

Puede instalar coreutils con brew install coreutils .

shuf se vinculará como gshuf . Lea las advertencias cuando instale coreutils.

22voto

Michael Zhou Puntos 167

Otra solución es conocer las herramientas suministradas por el proveedor. Ciertamente, podría encadenar jot , paste , sort , cut , head y obtener los mismos resultados.

jot -r "$(wc -l FILE)" 1 |
paste - FILE |
sort -n |
cut -f 2- |
head -n 10
  • jot produce un número aleatorio desde 1 hasta el número de líneas en FILE para cada línea
  • pegar pega el número aleatorio en cada línea del ARCHIVO
  • ordenar numéricamente cada línea
  • cut elimina el número aleatorio de cada línea
  • head emite las 10 primeras líneas

12voto

yoliho Puntos 340

Puede instalar coreutils con Macports como

sudo port install coreutils

Esto pondrá las utilidades del núcleo de GNU en /opt/local/bin con una g añadida

Por ejemplo gshuf

Más detalles sobre el paquete coreutils .

4voto

rogerdpack Puntos 211

Otra opción es instalar randomize-lines (homebrew), que tiene un paquete rl que tiene una funcionalidad similar a la de shuf.

Usage: rl [OPTION]... [FILE]...
Randomize the lines of a file (or stdin).

  -c, --count=N  select N lines from the file
  -r, --reselect lines may be selected multiple times
  -o, --output=FILE
                 send output to file
  -d, --delimiter=DELIM
                 specify line delimiter (one character)
  -0, --null     set line delimiter to null character
                 (useful with find -print0)
  -n, --line-number
                 print line number with output lines
  -q, --quiet, --silent
                 do not output any errors or warnings
  -h, --help     display this help and exit
  -V, --version  output version information and exit

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X