zsh で array からパターンにマッチしたものだけ抜き出す
$ typeset -a x
$ x=(hoge fuga piyo foo bar)
$ print -l "${(@M)x:#f*}"
fuga
foo
associative array の場合は、
$ typeset -A y
$ y=(k1 hoge k2 fuga k3 piyo k4 foo k5 bar)
$ print -l "${(@kv)y[(R)f*]}"
k2
fuga
k4
foo
$ typeset -a x
$ x=(hoge fuga piyo foo bar)
$ print -l "${(@M)x:#f*}"
fuga
foo
associative array の場合は、
$ typeset -A y
$ y=(k1 hoge k2 fuga k3 piyo k4 foo k5 bar)
$ print -l "${(@kv)y[(R)f*]}"
k2
fuga
k4
foo