Interesting problem

Hello,

So I'm utilizing the bash brace expansion feature to checkout multiple folders from cvs with ease, while excluding certain subfolders within. So I do a command like this:

cvs co trunk/{mod_a,mod_b,mod_c} \!trunk/{mod_a,mod_b,mod_c}/web

to checkout modules trunk/mod_a , trunk/mod_b , and trunk/mod_c without the web subfolder within those modules. The question is: is there a way to compress the two brace expansions above into one? My first attempt was like:

{,\!}trunk/{mod_a,mod_b,mod_c}{,/web}

which understandably doesn't work. Can anybody think of a way to do this?

Neked

shopt -s nullglob extglob
cvs co trunk/mod_{a,b,c}/!(web)