Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / usr / share / bash-completion / completions / | server ip : 172.67.156.115 your ip : 172.69.17.70 H O M E |
Filename | /usr/share/bash-completion/completions/find |
Size | 3.88 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 27-Apr-2025 09:54 |
Last modified | 07-Apr-2014 22:10 |
Last accessed | 05-Jul-2025 20:50 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
# bash completion for GNU find -*- shell-script -*-
# This makes heavy use of ksh style extended globs and contains Linux specific
# code for completing the parameter to the -fstype option.
_find()
{
local cur prev words cword
_init_completion || return
case $prev in
-maxdepth|-mindepth)
COMPREPLY=( $( compgen -W '{0..9}' -- "$cur" ) )
return 0
;;
-newer|-anewer|-cnewer|-fls|-fprint|-fprint0|-fprintf|-name|-iname|\
-lname|-ilname|-wholename|-iwholename|-samefile)
_filedir
return 0
;;
-fstype)
_fstypes
[[ $OSTYPE == *bsd* ]] && \
COMPREPLY+=( $( compgen -W 'local rdonly' -- "$cur" ) )
return 0
;;
-gid)
_gids
return 0
;;
-group)
COMPREPLY=( $( compgen -g -- "$cur" 2>/dev/null) )
return 0
;;
-xtype|-type)
COMPREPLY=( $( compgen -W 'b c d p f l s' -- "$cur" ) )
return 0
;;
-uid)
_uids
return 0
;;
-user)
COMPREPLY=( $( compgen -u -- "$cur" ) )
return 0
;;
-exec|-execdir|-ok|-okdir)
words=(words[0] "$cur")
cword=1
_command
return 0
;;
-[acm]min|-[acm]time|-iname|-lname|-wholename|-iwholename|-lwholename|\
-ilwholename|-inum|-path|-ipath|-regex|-iregex|-links|-perm|-size|\
-used|-printf|-context)
# do nothing, just wait for a parameter to be given
return 0
;;
-regextype)
COMPREPLY=( $( compgen -W 'emacs posix-awk posix-basic posix-egrep
posix-extended' -- "$cur" ) )
return 0
;;
esac
_expand || return 0
local i exprfound=false
# set exprfound to true if there is already an expression present
for i in ${words[@]}; do
[[ "$i" = [-\(\),\!]* ]] && exprfound=true && break
done
# handle case where first parameter is not a dash option
if ! $exprfound && [[ "$cur" != [-\(\),\!]* ]]; then
_filedir -d
return 0
fi
# complete using basic options
COMPREPLY=( $( compgen -W '-daystart -depth -follow -help
-ignore_readdir_race -maxdepth -mindepth -mindepth -mount
-noignore_readdir_race -noleaf -regextype -version -warn -nowarn -xdev
-amin -anewer -atime -cmin -cnewer -ctime -empty -executable -false
-fstype -gid -group -ilname -iname -inum -ipath -iregex -iwholename
-links -lname -mmin -mtime -name -newer -nogroup -nouser -path -perm
-readable -regex -samefile -size -true -type -uid -used -user
-wholename -writable -xtype -context -delete -exec -execdir -fls
-fprint -fprint0 -fprintf -ls -ok -okdir -print -print0 -printf -prune
-quit' -- "$cur" ) )
if [[ ${#COMPREPLY[@]} -ne 0 ]]; then
# this removes any options from the list of completions that have
# already been specified somewhere on the command line, as long as
# these options can only be used once (in a word, "options", in
# opposition to "tests" and "actions", as in the find(1) manpage).
local -A onlyonce=( [-daystart]=1 [-depth]=1 [-follow]=1 [-help]=1
[-ignore_readdir_race]=1 [-maxdepth]=1 [-mindepth]=1 [-mount]=1
[-noignore_readdir_race]=1 [-noleaf]=1 [-nowarn]=1 [-regextype]=1
[-version]=1 [-warn]=1 [-xdev]=1 )
local j
for i in "${words[@]}"; do
[[ $i && ${onlyonce[$i]} ]] || continue
for j in ${!COMPREPLY[@]}; do
[[ ${COMPREPLY[j]} == $i ]] && unset COMPREPLY[j]
done
done
fi
_filedir
return 0
} &&
complete -F _find find
# ex: ts=4 sw=4 et filetype=sh
# This makes heavy use of ksh style extended globs and contains Linux specific
# code for completing the parameter to the -fstype option.
_find()
{
local cur prev words cword
_init_completion || return
case $prev in
-maxdepth|-mindepth)
COMPREPLY=( $( compgen -W '{0..9}' -- "$cur" ) )
return 0
;;
-newer|-anewer|-cnewer|-fls|-fprint|-fprint0|-fprintf|-name|-iname|\
-lname|-ilname|-wholename|-iwholename|-samefile)
_filedir
return 0
;;
-fstype)
_fstypes
[[ $OSTYPE == *bsd* ]] && \
COMPREPLY+=( $( compgen -W 'local rdonly' -- "$cur" ) )
return 0
;;
-gid)
_gids
return 0
;;
-group)
COMPREPLY=( $( compgen -g -- "$cur" 2>/dev/null) )
return 0
;;
-xtype|-type)
COMPREPLY=( $( compgen -W 'b c d p f l s' -- "$cur" ) )
return 0
;;
-uid)
_uids
return 0
;;
-user)
COMPREPLY=( $( compgen -u -- "$cur" ) )
return 0
;;
-exec|-execdir|-ok|-okdir)
words=(words[0] "$cur")
cword=1
_command
return 0
;;
-[acm]min|-[acm]time|-iname|-lname|-wholename|-iwholename|-lwholename|\
-ilwholename|-inum|-path|-ipath|-regex|-iregex|-links|-perm|-size|\
-used|-printf|-context)
# do nothing, just wait for a parameter to be given
return 0
;;
-regextype)
COMPREPLY=( $( compgen -W 'emacs posix-awk posix-basic posix-egrep
posix-extended' -- "$cur" ) )
return 0
;;
esac
_expand || return 0
local i exprfound=false
# set exprfound to true if there is already an expression present
for i in ${words[@]}; do
[[ "$i" = [-\(\),\!]* ]] && exprfound=true && break
done
# handle case where first parameter is not a dash option
if ! $exprfound && [[ "$cur" != [-\(\),\!]* ]]; then
_filedir -d
return 0
fi
# complete using basic options
COMPREPLY=( $( compgen -W '-daystart -depth -follow -help
-ignore_readdir_race -maxdepth -mindepth -mindepth -mount
-noignore_readdir_race -noleaf -regextype -version -warn -nowarn -xdev
-amin -anewer -atime -cmin -cnewer -ctime -empty -executable -false
-fstype -gid -group -ilname -iname -inum -ipath -iregex -iwholename
-links -lname -mmin -mtime -name -newer -nogroup -nouser -path -perm
-readable -regex -samefile -size -true -type -uid -used -user
-wholename -writable -xtype -context -delete -exec -execdir -fls
-fprint -fprint0 -fprintf -ls -ok -okdir -print -print0 -printf -prune
-quit' -- "$cur" ) )
if [[ ${#COMPREPLY[@]} -ne 0 ]]; then
# this removes any options from the list of completions that have
# already been specified somewhere on the command line, as long as
# these options can only be used once (in a word, "options", in
# opposition to "tests" and "actions", as in the find(1) manpage).
local -A onlyonce=( [-daystart]=1 [-depth]=1 [-follow]=1 [-help]=1
[-ignore_readdir_race]=1 [-maxdepth]=1 [-mindepth]=1 [-mount]=1
[-noignore_readdir_race]=1 [-noleaf]=1 [-nowarn]=1 [-regextype]=1
[-version]=1 [-warn]=1 [-xdev]=1 )
local j
for i in "${words[@]}"; do
[[ $i && ${onlyonce[$i]} ]] || continue
for j in ${!COMPREPLY[@]}; do
[[ ${COMPREPLY[j]} == $i ]] && unset COMPREPLY[j]
done
done
fi
_filedir
return 0
} &&
complete -F _find find
# ex: ts=4 sw=4 et filetype=sh