Executing external command with parameters
- To: mathgroup at smc.vnet.net
- Subject: [mg129806] Executing external command with parameters
- From: Ramiro <ramiro.barrantes at gmail.com>
- Date: Fri, 15 Feb 2013 01:58:28 -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.
Thanks in advance,
Ramiro