Zsh Glob Qualifiers
Add a commentcheat-sheet articles are about code snippets that I need every once in a while, and which I constantly forget about.
Examples
# three newest (by mtime) files
print *(.om[1,3])
# files larger than 50 kiB
print *(.Lk+50)
# files modified within the last hour
print *(.mh-1)
# files not accessed for six months or longer
print *(.aM+6)
# change ownership of anything that is owned by `alice` to `bob`
chown bob **/*(u:alice:)
Full List
| Qualifier | Description |
|---|---|
/ |
directory |
F |
non-empty directory (empty: (/^F)) |
. |
plain file |
@ |
symbolic link |
* |
executable plain file |
r/A/R |
readable by owner/group/world |
w/I/W |
writable by owner/group/world |
x/E/X |
executable by owner/group/world |
s/S/t |
setuid/setgid/sticky bit |
fspec |
has chmod style permissions spec |
u:name: |
owned by user name |
g:name: |
owned by group name |
a[Mwhms][-+]n |
access time in given units (see below) |
m[Mwhms][-+]n |
modification time in given units |
L[kmp][-+]n |
size in given units (see below) |
^ |
negate following qualifiers |
- |
toggle following links (first one turns on) |
N |
whole pattern expands to empty if no match |
D |
leading dots may be matched |
n |
sort numbers numerically |
o[nLamd] |
order by given code (see below; may repeat) |
O[nLamd] |
order by reverse of given code |
[num] |
select num-th file in current order |
[num1,num2] |
select num1-th to num2-th file |
- Time units: Month, week, hour, minute, second; default: day.
- Size units: kilobytes, megabytes; default: bytes
- Order codes: name (default), size, atime, mtime, directory depth