I'm currently trying to loop through a set of directories, but only the ones I care about.
$ ls -d */ cfdpost_statefiles/ p050L0260/ p050L0510/ p060L0390/ p070L0260/ p070L0510/ p092L0390/ p097L0260/ p110L0390/ p131L0325/ p150L0510/ profiles/ ERCOFTAC_TestSettings/ p050L0390/ p060L0260/ p060L0510/ p070L0390/ p084L0510/ p094L0325/ p100L0510/ p125L0510/ p136L0260/ p162L0260/ settings/
I want to match all the
p###* directories except for the ones beginning with
If I just do patterns with a pipe, I get:
$ for dir in ./p(125|150)*(/); echo $dir ./p125L0510 ./p150L0510
However, if I try and use the
^ like it shows in it's documentation:
$ for dir in ./p^(125|150)*(/); echo $dir zsh: no matches found: ./p^(125|150)*(/)
Any ideas how to proceed?