Say I have the following files:|-- bar`-- foo    |-- type_A_1    |-- type_A_2    |-- type_B_1    |-- type_B_2    |-- type_B_xx    |-- type_B_xx    `-- something_elseI thought the following commandprint -l foo/*~{type_B*}would print everything under foo except things that start with type_B but it doesn't, instead it prints everything under foo:foo/type_A_1foo/type_A_2foo/type_B_1foo/type_B_2foo/type_B_xxfoo/something_elseI also tried print -l foo/*~type_B and got the same thing.How does the exception wildcard ~ work in zsh?
zsh: excluding files from a pattern
shell script;zsh;wildcards
You need to include the directory into the exception: print -l foo/*~foo/type_A* or print -l foo/*~{foo/type_A*}.If you want, you can replace the directory by a wildcard: print -l foo/*~*/type_A*