Ubuntu Linux has a great tool called shuf, which works like head except that it gives you ten random lines. I couldn't find it on Homebrew. What is the simplest way of installing it on OS X?
Yet another solution is to learn about the tools supplied by the vendor. Certainly you could chain
head and get the same results.
jot -r "$(wc -l FILE)" 1 | paste - FILE | sort -n | cut -f 2- | head -n 10
- jot produces a random number from 1 to the number of lines in FILE for each line
- paste pastes the random number to each line in FILE
- sort sorts numeric each line
- cut removes the random number from each line
- head outputs the first 10 lines
Another option is to install
randomize-lines(homebrew) package, which has an
rl command which has similar functionality to 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