1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-12-15 08:41:36 +01:00
zsh/Completion/Unix/Command/_uniq
2025-11-24 22:10:27 +01:00

32 lines
1.5 KiB
Text

#compdef uniq guniq
local args
args=(
'(-c --count -u --unique)'{-c,--count}'[prefix lines by the number of occurrences]'
'(-d --repeated -u --unique -D --all-repeated)'{-d,--repeated}'[only print a single copy of duplicate lines]'
'(--all-repeated -d --repeated -u --unique)-D[print all duplicate lines]'
'(-D -d --repeated -u --unique)--all-repeated=-[print all duplicate lines]::delimit method [none]:(none prepend separate)'
'(-f --skip-fields)'{-f,--skip-fields=}'[avoid comparing initial fields]:number of fields'
'--group=-[show all items]::group separation [separate]:(separate prepend append both)'
'(-i --ignore-case)'{-i,--ignore-case}'[ignore differences in case when comparing]'
'(-s --skip-chars)'{-s+,--skip-chars=}'[avoid comparing initial characters]:number of characters'
'(-u --unique -c --count -d --repeated -D --all-repeated)'{-u,--unique}'[only print unique lines]'
'(-w --check-chars)'{-w+,--check-chars=}'[specify maximum number of characters to compare]:characters'
'(-z --zero-terminated)'{-z,--zero-terminated}'[delimit lines with null character, not newline]'
'(- *)--help[display help information]'
'(- *)--version[display version information]'
)
if ! _pick_variant gnu='(Free Soft|uutils)' unix --version; then
local optchars="cdufs"
if [[ "$OSTYPE" == (darwin|dragonfly|freebsd|openbsd)* ]]; then
optchars+=i
fi
[[ $OSTYPE = (darwin|freebsd)* ]] && optchars+=D
args=( ${(M)args:#(|\*)(|\(*\))-[$optchars]*} )
fi
_arguments "$args[@]" \
'1::input file:_files' \
'2::output file:_files'