Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Obtaining Random LIne from A file

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129816] Obtaining Random LIne from A file
  • From: Ramiro Barrantes <rbarrant at uvm.edu>
  • Date: Sat, 16 Feb 2013 01:08:44 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

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




  • Prev by Date: Re: Plot obliterates its y-axis !?
  • Next by Date: barchart
  • Previous by thread: Re: Plot obliterates its y-axis !?
  • Next by thread: Re: Obtaining Random LIne from A file