On 04/10/09 15:28, Mikkel wrote:
Patrick O'Callaghan wrote:
On Sun, 2009-10-04 at 13:54 +0100, psmith wrote:
do you have any suggestions what/where i should be looking to get my required output?
As Sam says, your initial attempt is trying to produce all 1.5TB at once, which is why it blows up, but that's going to happen anyway even if you program the same thing in C. IOW it's not an issue with the Shell per se, but with the approach to the problem.
Assuming you actually want all 1.5TB of data (really?) you'd be better consuming it as it's produced, perhaps via a pipe. Of course that depends on what you're doing with it, which you haven't said.
poc
One way to do it would be to break it down into nested loops. I am not sure you could do it in bash - I am not sure how bash handles loops. You can try something like: (Not tested)
for a in {A..Z}; \ do for b in {A..Z}; \ do for c in {A..Z}; \ do for d in {A..Z}; \ do for e in {A..Z}; \ do for f in {A..Z}; \ echo $a$b$c$d$e$f ; \ done ; done ; done ; done ; done ; done ; done ; done
Mikkel
thanks mikkel :-) this got it to output the data to the file as it was working though the command needed to be
for a in {A..Z}; \ do for b in {A..Z}; \ do for c in {A..Z}; \ do for d in {A..Z}; \ do for e in {A..Z}; \ do for f in {A..Z}; \ do for g in {A..Z}; \ do for h in {A..Z}; \ do echo $a$b$c$d$e$f$g$h; \ done;done;done;done;done;done;done;done; > wl1
now i've just got to wait for the new hard drives to arrive and also work out how to get it to start outputting a different file every 2GB or so :-)
thanks again phil