Re: bash oom problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09-10-04 06:17:20, Sharpe, Sam J wrote:
> 2009/10/4 psmith <psmith@xxxxxxxxxxxxxxxxx>:
> > hi list, whilst trying to run this bash command
> >
> > for w in {A..Z}{A..Z}{A..Z}{A..Z}{A..Z}{A..Z}{A..Z}{A..Z} ;do echo
> $w;done >
> > wl1
> 
> Consider that for a second...
> 
> You are trying to generate a list of all possible combinations of an 
> 8 character word composed of only uppercase letters - that's 26^8
> combinations (208 Billion). Each word is 8 bytes long, which I make 
> to be 1670616516608 bytes... or to put it another way, 1.5 TB
> 
> So, you've got 4 GB of virtual memory and you are trying to fit an
> 1555GB array into it. Simple mathematics says no. Dumping the
> arguments before it dies is pointless, because it hasn't even got as
> far as expanding arguments yet.
> 
> You need to think of another was to do this and I humbly suggest that
> Bash should not be high on your list.

Bash should be OK if Pathname Expansion is used instead of the more 
general Brace Expansion:

    $ for w in [[:upper:]][[:upper:]][[:upper:]][[:upper:]][[:upper:]]
[[:upper:]][[:upper:]][[:upper:]] ; do echo $w ; done

However, if there are no matches, the match string will be tried unless 
the shell options failglob is unset and nullglob is set:

    $ ( shopt -s nullglob ; shopt -u failglob ; for w in [[:upper:]]
[[:upper:]][[:upper:]][[:upper:]][[:upper:]][[:upper:]][[:upper:]]
[[:upper:]] ; do echo $w ; done )

(Sorry for the wrapping.)

-- 
____________________________________________________________________
TonyN.:'                       <mailto:tonynelson@xxxxxxxxxxxxxxxxx>
      '                              <http://www.georgeanelson.com/>

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux