complete -c grep -s A -l after-context -d "Print NUM lines of trailing context" -x
complete -c grep -s a -l text -d "Process binary file as text"
complete -c grep -s B -l before-context -d "Print NUM lines of leading context" -x
complete -c grep -s C -l context -d "Print NUM lines of context" -x
complete -c grep -s b -l byte-offset -d "Print byte offset of matches"
complete -c grep -l binary-files -d "Assume data type for binary files" -x -a "binary\tBinary\ format text\tText\ format"
complete -c grep -l colour -f -d "Colour output" -a "never always auto"
complete -c grep -l color -f -d "Color output" -a "never always auto"
complete -c grep -s c -l count -d "Only print number of matches"
complete -c grep -s D -l devices -x -a "read skip" -d "Action for devices"
complete -c grep -s d -l directories -x -a "read skip recurse" -d "Action for directories"
complete -c grep -s E -l extended-regexp -d "Pattern is extended regexp"
complete -xc grep -s e -l regexp -d "Specify a pattern"
complete -rc grep -l exclude-from -d "Read pattern list from file. Skip files whose base name matches list"
complete -rc grep -l exclude-dir -d "Exclude matching directories from recursive searches"
complete -c grep -s F -l fixed-strings -d "Pattern is a fixed string"
complete -rc grep -s f -l file -d "Use patterns from a file"
complete -c grep -s G -l basic-regexp -d "Pattern is basic regex"
complete -c grep -s H -l with-filename -d "Print filename"
complete -c grep -s h -l no-filename -d "Suppress printing filename"
complete -c grep -l help -d "Display help and exit"
complete -c grep -s I -d "Skip binary files"
complete -c grep -s i -l ignore-case -d "Ignore case"
complete -c grep -s L -l files-without-match -d "Print name of files without matches"
complete -c grep -s l -l files-with-matches -d "Print name of files with matches"
complete -c grep -s m -l max-count -d "Stop reading after NUM matches"
complete -c grep -l mmap -d "Use the mmap system call to read input"
complete -c grep -s n -l line-number -d "Print line number"
complete -c grep -s o -l only-matching -d "Show only matching part"
complete -c grep -l label -d "Rename stdin" -x
complete -c grep -l line-buffered -d "Use line buffering"
complete -c grep -s P -l perl-regexp -d "Pattern is a Perl regexp (PCRE) string"
complete -c grep -s q -l quiet -d "Do not write anything"
complete -c grep -l silent -d "Do not write anything"
complete -c grep -s R -l dereference-recursive -d "Recursively read files under each directory, following symlinks"
complete -c grep -s r -l recursive -d "Recursively read files under each directory"
complete -c grep -l include -d "Search only files matching PATTERN" -r
complete -c grep -l exclude -d "Skip files matching PATTERN" -r
complete -c grep -s s -l no-messages -d "Suppress error messages"
complete -c grep -s T -l initial-tab -d "Ensure first character of actual line content lies on a tab stop"
complete -c grep -s U -l binary -d "Treat files as binary"
complete -c grep -s u -l unix-byte-offsets -d "Report Unix-style byte offsets"
complete -c grep -s V -l version -d "Display version and exit"
complete -c grep -s v -l invert-match -d "Invert the sense of matching"
complete -c grep -s w -l word-regexp -d "Only whole matching words"
complete -c grep -s x -l line-regexp -d "Only whole matching lines"
complete -c grep -s z -l null-data -d "Treat input as a set of zero-terminated lines"
complete -c grep -s Z -l null -d "Output a zero byte after filename"
complete -c grep -l group-separator -x -d "Set a group separator"
complete -c grep -l no-group-separator -d "Use empty string as a group separator"
