bash oom problem
psmith
psmith at fedoraproject.org
Tue Oct 6 18:24:30 UTC 2009
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
More information about the fedora-list
mailing list