mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-07-10 16:31:27 +02:00
29 lines
1.2 KiB
Text
29 lines
1.2 KiB
Text
#compdef join gjoin
|
|
|
|
local args variant
|
|
args=(
|
|
'*-a+[print unpairable lines from specified file]:file number:(1 2)'
|
|
'-e+[replace missing input fields with specified string]:replacement string'
|
|
"(-1 -2)-j+[join on specified field for both files]:field number"
|
|
'-o+[use specified output format]:format string'
|
|
'-t+[use specified character as field separator]:separator'
|
|
'*-v+[like -a, but suppress joined output lines]:file number:(1 2)'
|
|
'(-j -1 -j1)'{-j1,-1+}'[join on specified field of first file]:field number'
|
|
'(-j -2 -j2)'{-j2,-2+}'[join on specified field of second file]:field number'
|
|
'1:file:_files' '2:file:_files'
|
|
)
|
|
_pick_variant -r variant gnu=GNU $OSTYPE --version
|
|
case $variant in
|
|
gnu)
|
|
args+=(
|
|
'(-i --ignore-case)'{-i,--ignore-case}'[ignore differences in case when comparing fields]'
|
|
'(-)--help[display help information]'
|
|
'(-)--version[output version information]'
|
|
'(--check-order --nocheck-order)'{--check-order,--nocheck-order}
|
|
'--header[treat first line in each file as field headers]'
|
|
'(-z --zero-terminated)'{-z,--zero-terminated}'[end lines with 0 byte, not newline]'
|
|
)
|
|
;;
|
|
esac
|
|
|
|
_arguments -s $args
|