複数の zsh グロブ式を正しく否定するにはどうすればよいですか?

複数の zsh グロブ式を正しく否定するにはどうすればよいですか?

ファイルの入ったディレクトリがあります。すべてのファイルには拡張子が付いています。拡張子は、、の 3 種類のいずれかにtxtなりfooますbar

fooどちらでも終わらないすべてのファイルを印刷したいですbar

で終わらないすべてのファイルをリストする方法はすでに知っていますfoo:

set extended_glob
print ^*.foo

しかし、その否定を組み合わせて除外するにはどうすればよいでしょうか*.bar?

何かのようなもの

print ^(*.foo & *.bar) 

動作しません。マニュアルページはこれについては役に立ちませんでした。

望ましい動作を実現するにはどうすればよいでしょうか?

答え1

答えを見つけました:

print ^*.(foo|bar)

関連情報