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 **/*(.)