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?
Respuestas
¿Demasiados anuncios?
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
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