mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-11-03 19:11:34 +01: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
 |