Pull random line from a file

Björn Lindberg d95-bli.no.spam at nada.kth.se
Thu Sep 5 16:32:40 PDT 2002

Kevan Shea wrote:
> I want to pull a random line from a file in a bash script.  I can generate the random number fine, but how would I go about pulling a single line from a file?
> I figure this is a one-line sed at worst, but I'm woefully lost by any sed that isn't s/find/replace/ and I can't figure what else I would use... fortune maybe?

If you know that the random number is not higher than the line count for
the file, you can do this

	line=$(sed -n ${random}p $file)

where you have the random line number in $random and the filename in
$file. (Eg 5p is the command for printing the 5th line in sed.)

Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-chat' in the subject header of the message

More information about the lfs-chat mailing list