Rene Kita's weblog

Blog About RSS Links

Globbing in zsh

Because I always forget one of those...

This needs setopt extendedglob to work.

Files not ending in ~:
ls patches/^*~

Files not ending in ~ and not ending in .orig:
ls patches/^*(~|.orig)

.patch files without .origs and backups:
ls patches/*.patch^(~|.orig)

Files without an extension:
ls t/^*.*

Directories only (recursively):
ls **/*(^/)

Regular files only (recursively):
ls **/*(.)