NAME¶rl - Randomize Lines.
SYNOPSIS¶rl [OPTION]... [FILE]...
DESCRIPTION¶rl reads lines from a input file or stdin, randomizes the lines and outputs a specified number of lines. It does this with only a single pass over the input while trying to use as little memory as possible.
- -c, --count=N
- Select the number of lines to be returned in the output. If
this argument is omitted all the lines in the file will be returned in
random order. If the input contains less lines than specified and the
--reselect option below is not specified a warning is printed and all
lines are returned in random order.
- -r, --reselect
- When using this option a single line may be selected
multiple times. The default behaviour is that any input line will only be
selected once. This option makes it possible to specify a --count option
with more lines than the file actually holds.
- -o, --output=FILE
- Send randomized lines to FILE instead of stdout.
- -d, --delimiter=DELIM
- Use specified character as a "line" delimiter
instead of the newline character.
- -0, --null
- Input lines are terminated by a null character. This option
is useful to process the output of the GNU find -print0 option.
- -n, --line-number
- Output lines are numbered with the line number from the
- -q, --quiet, --silent
- Be quiet about any errors or warnings.
- -h, --help
- Show short summary of options.
- -v, --version
- Show version of program.
EXAMPLES¶Some simple demonstrations of how rl can help you do everyday tasks.
sleep 240 ; play `find /sounds -name ´*.au´ -print | rl --count=1`
ls -c *.mp3 | head -n 15 | rl | xargs --delimiter=´\n´ play
seq 6 | rl --count 2
seq 6 | rl --reselect --count 1000 | sort | uniq -c | sort -n
echo -n "The rain in Spain stays mainly in the plain." \
| rl --delimiter=´ ´;echo
find . -name ´*.avi´ -print0 | rl -0 | xargs -n 1 -0 mplayer
BUGS¶The program currently does not have very smart memory management. If you feed it huge files and expect it to fully randomize all lines it will completely read the file in memory. If you specify the --count option it will only use the memory required for storing the specified number of lines. Improvements on this area are on the TODO list.
COPYRIGHT¶Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Arthur de Jong.
|Jul 2008||Version 0.2.7|