rl man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

rl(1)				 User Commands				 rl(1)

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	 input
	      file.

       -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.

       Play a random sound after 4 minutes (perfect for toast):
	   sleep 240 ; play `find /sounds -name ´*.au´ -print | rl --count=1`

       Play the 15 most recent .mp3 files in random order.
	   ls -c *.mp3 | head -n 15 | rl  | xargs --delimiter=´\n´ play

       Roll a dice:
	   seq 6 | rl --count 2

       Roll a dice 1000 times and see which number comes up more often:
	   seq 6 | rl --reselect --count 1000 | sort | uniq -c | sort -n

       Shuffle the words of a sentence:
	   echo -n "The rain in Spain stays mainly in the plain." \
	     | rl --delimiter=´ ´;echo

       Find all movies and play them in random order.
	   find . -name ´*.avi´ -print0 | rl -0 | xargs -n 1 -0 mplayer
       Because	-0  is	used  filenames	 with  spaces (even newlines and other
       unusual characters) in them work.

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.

       The program uses the rand()  system  random  function.	This  function
       returns a number between 0 and RAND_MAX, which may not be very large on
       some systems.   This  will  result  in  non-random  results  for	 files
       containing more lines than RAND_MAX.

       Note  that  if you specify multiple input files they are randomized per
       file.  This is a different result from when you cat all the  files  and
       pipe the result into rl.

COPYRIGHT
       Copyright  ©  2001,  2002, 2003, 2004, 2005, 2006, 2007, 2008 Arthur de
       Jong.
       This is free software; see the license for copying  conditions.	 There
       is  NO  warranty;  not  even  for  MERCHANTABILITY  or  FITNESS	FOR  A
       PARTICULAR PURPOSE.

Version 0.2.7			   Jul 2008				 rl(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net