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