Support the OSX versions of head/tail

See #2537.

These were written from the online versions of the manpages.
This commit is contained in:
Fabian Homborg 2015-11-19 21:32:21 +01:00
parent 3e0ff6db2a
commit 6336288da1
2 changed files with 32 additions and 18 deletions

View file

@ -1,6 +1,11 @@
complete -c head -s c -l bytes -d 'Print the first N bytes; Leading '-', truncate the last N bytes' -r if head --version >/dev/null ^/dev/null
complete -c head -s n -l lines -d 'Print the first N lines; Leading '-', truncate the last N lines' -r complete -c head -s c -l bytes -d 'Print the first N bytes; Leading '-', truncate the last N bytes' -r
complete -c head -s q -l quiet -l silent -d 'Never print file names' complete -c head -s n -l lines -d 'Print the first N lines; Leading '-', truncate the last N lines' -r
complete -c head -s v -l verbose -d 'Always print file names' complete -c head -s q -l quiet -l silent -d 'Never print file names'
complete -f -c head -l version -d 'Display version' complete -c head -s v -l verbose -d 'Always print file names'
complete -f -c head -l help -d 'Display help' complete -f -c head -l version -d 'Display version'
complete -f -c head -l help -d 'Display help'
else # OSX and similar - no longopts (and fewer shortopts)
complete -c head -s c -d 'Print the first N bytes; Leading '-', truncate the last N bytes' -r
complete -c head -s n -d 'Print the first N lines; Leading '-', truncate the last N lines' -r
end

View file

@ -1,12 +1,21 @@
complete -c tail -s c -l bytes -x -d 'output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file' if tail --version > /dev/null ^ /dev/null
complete -c tail -s f -l follow -xa 'name descriptor' -d 'output appended data as the file grows; -f -l follow, and --follow=descriptor are equivalent' complete -c tail -s c -l bytes -x -d 'output the last K bytes; alternatively, use -c +K to output bytes starting with the Kth of each file'
complete -c tail -s F -d 'same as --follow=name --retry' complete -c tail -s f -l follow -xa 'name descriptor' -d 'output appended data as the file grows; -f -l follow, and --follow=descriptor are equivalent'
complete -c tail -s n -l lines -x -d 'output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth' complete -c tail -s F -d 'same as --follow=name --retry'
complete -c tail -l max-unchanged-stats -x -d 'with --follow=name, reopen a FILE which has not changed size after N iterations' complete -c tail -s n -l lines -x -d 'output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth'
complete -c tail -l pid -d 'with -f, terminate after process ID, PID dies' -xa '(__fish_complete_pids)' complete -c tail -l max-unchanged-stats -x -d 'with --follow=name, reopen a FILE which has not changed size after N iterations'
complete -c tail -s q -l quiet -l silent -d 'never output headers giving file names' complete -c tail -l pid -d 'with -f, terminate after process ID, PID dies' -xa '(__fish_complete_pids)'
complete -c tail -l retry -d 'keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name' complete -c tail -s q -l quiet -l silent -d 'never output headers giving file names'
complete -c tail -s s -l sleep-interval -x -d 'with -f, sleep for approximately N seconds (default 1.0) between iterations' complete -c tail -l retry -d 'keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name'
complete -c tail -s v -l verbose -d 'always output headers giving file names' complete -c tail -s s -l sleep-interval -x -d 'with -f, sleep for approximately N seconds (default 1.0) between iterations'
complete -c tail -l help -d 'display this help and exit' complete -c tail -s v -l verbose -d 'always output headers giving file names'
complete -c tail -l version -d 'output version information and exit' complete -c tail -l help -d 'display this help and exit'
complete -c tail -l version -d 'output version information and exit'
else # OSX and similar - no longopts (and fewer shortopts)
complete -c tail -s c -x -d 'output the last K bytes or only K bytes with -r'
complete -c tail -s f -d 'output appended data as the file grows'
complete -c tail -s F -d 'Like -f, but also follow renamed or rotated files'
complete -c tail -s n -x -d 'output the last K lines, instead of the last 10 - or only K lines with -r'
complete -c tail -s q -d 'never output headers giving file names'
complete -c tail -s r -d 'Display input in reverse order' # Only in OSX
end