File: _du

package info (click to toggle)
zsh-beta 4.3.6-dev-0%2B20080723-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 14,752 kB
  • ctags: 7,403
  • sloc: ansic: 90,889; sh: 5,568; makefile: 836; perl: 745; awk: 381; sed: 16
file content (44 lines) | stat: -rw-r--r-- 2,241 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#compdef du

if _pick_variant gnu=Free\ Soft unix --version /dummy/no-such-file; then
  _arguments -s \
    '(-a --all -s --summarize)'{-a,--all}'[write counts for all files]' \
    '--apparent-size[print apparent sizes rather than disc usage]' \
    '(-B --block-size -k)'{-B,--block-size=}'[specify block size]:size (bytes)' \
    '(-B --block-size -k --apparent-size -b --bytes)'{-b,--bytes}'[equivalent to --apparent-size --block-size=1]' \
    '(-c --total)'{-c,--total}'[produce a grand total]' \
    '(-D --dereference-args -L --dereference)'{-D,--dereference-args}'[dereference arguments that are symlinks]' \
    '(-h --human-readable -H --si)'{-h,--human-readable}'[print sizes in human readable format]' \
    '(-H --si -h --human-readable)'{-H,--si}'[human readable form using powers of 1000]' \
    '(-B --block-size)-k[use block size of 1k]' \
    '(-l --count-links)'{-l,--count-links}'[count sizes many times if hard linked]' \
    '(-L --dereference -D --dereference-args)'{-L,--dereference}'[dereference all symlinks]' \
    '(-S --separate-dirs)'{-S,--separate-dirs}'[do not include size of subdirectories]' \
    '(-s --summarize --max-depth -a --all)'{-s,--summarize}'[only display total for each argument]' \
    '(-x --one-file-system)'{-x,--one-file-system}'[skip directories on different filesystems]' \
    \*{-X+,--exclude-from=}'[exclude files matching any pattern in file]:file:_files' \
    '*--exclude=[exclude files matching pattern]:pattern' \
    '(-s --summarize)--max-depth=[maximum levels to recurse]:levels' \
    '(* -)--help[display help information]' \
    '(* -)--version[display version information]' \
    '*:file:_files'
  return
else
  # based on $OSTYPE = solaris2.8
  local xdev='[skip directories on different filesystems]'
  if [[ ${commands[$words[1]]:-$words[1]} = *xpg4* ]]; then
    args=( -x$xdev )
  else
    args=( -d$xdev
      '-L[dereference symlinks]'
      "(-a)-o[do not add child directories' usage to parent's total]"
    )
  fi
  _arguments -s "$args[@]" \
    '(-s -o)-a[write counts for all files]' \
    '-k[use block size of 1k]' \
    '-r[notify about unreadable files/directories]' \
    '(-a)-s[only display total for each argument]' \
    '*:file:_files'
  return
fi