Date: Feb 16, 2013 1:07 AM
Author: Ramiro Barrantes-Reynolds
Subject: Obtaining Random LIne from A file

Hello,

I would like to get a random line from a file, I know this can be done

with Mathematica but I am playing with using sed to see if it goes

faster, say I want to get line 1000

In mathematica it would be:

<<"! sed -n p1000 filename.txt"

However, I am trying to put the filename as a variable, say

filename="hugefile.txt"

cmd="! sed -n p1000 "<>filename

<<cmd

does not work.

How can I do this?

Lastly, I am getting a randomline using mathematica doing:

getRandomLine[file_, n_] :=

Block[{i = RandomInteger[{1, n}], str = OpenRead[file], res},

Skip[str, "String", i];

res = Read[str, Expression];

Close[str];

res[[2]]

]

However, it is very slow so I was going to try with sed.Any suggestions?

Thanks in advance,

Ramiro