CVSROOT: /webcvs/grep Module name: grep Changes by: Jim Meyering <meyering> 14/11/23 22:23:33
Index: grep.html =================================================================== RCS file: /webcvs/grep/grep/manual/grep.html,v retrieving revision 1.19 retrieving revision 1.20 diff -u -b -r1.19 -r1.20 --- grep.html 3 Jun 2014 14:47:00 -0000 1.19 +++ grep.html 23 Nov 2014 22:23:28 -0000 1.20 @@ -1,8 +1,8 @@ <html lang="en"> <head> -<title>GNU Grep 2.20</title> +<title>GNU Grep 2.21</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<meta name="description" content="GNU Grep 2.20"> +<meta name="description" content="GNU Grep 2.21"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="top" href="#Top"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> @@ -33,7 +33,7 @@ --></style> </head> <body> -<h1 class="settitle">GNU Grep 2.20</h1> +<h1 class="settitle">GNU Grep 2.21</h1> <div class="contents"> <h2>Table of Contents</h2> <ul> @@ -91,7 +91,7 @@ <p><samp><span class="command">grep</span></samp> prints lines that contain a match for a pattern. - <p>This manual is for version 2.20 of GNU Grep. + <p>This manual is for version 2.21 of GNU Grep. <p>This manual is for <samp><span class="command">grep</span></samp>, a pattern matching engine. @@ -437,13 +437,13 @@ <br><dt><samp><span class="option">-u</span></samp><dt><samp><span class="option">--unix-byte-offsets</span></samp><dd><a name="index-g_t_002du-69"></a><a name="index-g_t_002d_002dunix_002dbyte_002doffsets-70"></a><a name="index-MS_002dDOS_002fMS_002dWindows-byte-offsets-71"></a><a name="index-byte-offsets_002c-on-MS_002dDOS_002fMS_002dWindows-72"></a>Report Unix-style byte offsets. This option causes <samp><span class="command">grep</span></samp> to report byte offsets as if the file were a Unix-style text file, -i.e., the byte offsets ignore the <code>CR</code> characters that were stripped. +i.e., the byte offsets ignore carriage returns that were stripped. This will produce results identical to running <samp><span class="command">grep</span></samp> on a Unix machine. This option has no effect unless the <samp><span class="option">-b</span></samp> option is also used; it has no effect on platforms other than MS-DOS and MS-Windows. - <br><dt><samp><span class="option">-Z</span></samp><dt><samp><span class="option">--null</span></samp><dd><a name="index-g_t_002dZ-73"></a><a name="index-g_t_002d_002dnull-74"></a><a name="index-zero_002dterminated-file-names-75"></a>Output a zero byte (the ASCII <code>NUL</code> character) + <br><dt><samp><span class="option">-Z</span></samp><dt><samp><span class="option">--null</span></samp><dd><a name="index-g_t_002dZ-73"></a><a name="index-g_t_002d_002dnull-74"></a><a name="index-zero_002dterminated-file-names-75"></a>Output a zero byte (the ASCII NUL character) instead of the character that normally follows a file name. For example, ‘<samp><span class="samp">grep -lZ</span></samp>’ outputs a zero byte after each file name @@ -530,13 +530,16 @@ <dt><samp><span class="option">-a</span></samp><dt><samp><span class="option">--text</span></samp><dd><a name="index-g_t_002da-92"></a><a name="index-g_t_002d_002dtext-93"></a><a name="index-suppress-binary-data-94"></a><a name="index-binary-files-95"></a>Process a binary file as if it were text; this is equivalent to the ‘<samp><span class="samp">--binary-files=text</span></samp>’ option. - <br><dt><samp><span class="option">--binary-files=</span><var>type</var></samp><dd><a name="index-g_t_002d_002dbinary_002dfiles-96"></a><a name="index-binary-files-97"></a>If a file's allocation metadata or its first few bytes + <br><dt><samp><span class="option">--binary-files=</span><var>type</var></samp><dd><a name="index-g_t_002d_002dbinary_002dfiles-96"></a><a name="index-binary-files-97"></a>If a file's allocation metadata, +or if its data read before a line is selected for output, indicate that the file contains binary data, assume that the file is of type <var>type</var>. By default, <var>type</var> is ‘<samp><span class="samp">binary</span></samp>’, and <samp><span class="command">grep</span></samp> normally outputs either a one-line message saying that a binary file matches, or no message if there is no match. +When matching binary data, <samp><span class="command">grep</span></samp> may treat non-text +bytes as line terminators. <p>If <var>type</var> is ‘<samp><span class="samp">without-match</span></samp>’, <samp><span class="command">grep</span></samp> assumes that a binary file does not match; @@ -574,24 +577,26 @@ following command-line symbolic links and skipping other symlinks; this is equivalent to the <samp><span class="option">-r</span></samp> option. - <br><dt><samp><span class="option">--exclude=</span><var>glob</var></samp><dd><a name="index-g_t_002d_002dexclude-105"></a><a name="index-exclude-files-106"></a><a name="index-searching-directory-trees-107"></a>Skip files whose base name matches <var>glob</var> -(using wildcard matching). -A file-name glob can use + <br><dt><samp><span class="option">--exclude=</span><var>glob</var></samp><dd><a name="index-g_t_002d_002dexclude-105"></a><a name="index-exclude-files-106"></a><a name="index-searching-directory-trees-107"></a>Skip files whose name matches the pattern <var>glob</var>, using wildcard +matching. When searching recursively, skip any subfile whose base +name matches <var>glob</var>; the base name is the part after the last +‘<samp><span class="samp">/</span></samp>’. A pattern can use ‘<samp><span class="samp">*</span></samp>’, ‘<samp><span class="samp">?</span></samp>’, and ‘<samp><span class="samp">[</span></samp>’...‘<samp><span class="samp">]</span></samp>’ as wildcards, and <code>\</code> to quote a wildcard or backslash character literally. - <br><dt><samp><span class="option">--exclude-from=</span><var>file</var></samp><dd><a name="index-g_t_002d_002dexclude_002dfrom-108"></a><a name="index-exclude-files-109"></a><a name="index-searching-directory-trees-110"></a>Skip files whose base name matches any of the file-name globs + <br><dt><samp><span class="option">--exclude-from=</span><var>file</var></samp><dd><a name="index-g_t_002d_002dexclude_002dfrom-108"></a><a name="index-exclude-files-109"></a><a name="index-searching-directory-trees-110"></a>Skip files whose name matches any of the patterns read from <var>file</var> (using wildcard matching as described under <samp><span class="option">--exclude</span></samp>). - <br><dt><samp><span class="option">--exclude-dir=</span><var>dir</var></samp><dd><a name="index-g_t_002d_002dexclude_002ddir-111"></a><a name="index-exclude-directories-112"></a>Skip any directory whose name matches the pattern <var>dir</var>, ignoring -any redundant trailing slashes in <var>dir</var>. + <br><dt><samp><span class="option">--exclude-dir=</span><var>glob</var></samp><dd><a name="index-g_t_002d_002dexclude_002ddir-111"></a><a name="index-exclude-directories-112"></a>Skip any directory whose name matches the pattern <var>glob</var>. When +searching recursively, skip any subdirectory whose base name matches +<var>glob</var>. Ignore any redundant trailing slashes in <var>glob</var>. <br><dt><samp><span class="option">-I</span></samp><dd>Process a binary file as if it did not contain matching data; this is equivalent to the ‘<samp><span class="samp">--binary-files=without-match</span></samp>’ option. - <br><dt><samp><span class="option">--include=</span><var>glob</var></samp><dd><a name="index-g_t_002d_002dinclude-113"></a><a name="index-include-files-114"></a><a name="index-searching-directory-trees-115"></a>Search only files whose base name matches <var>glob</var> -(using wildcard matching as described under <samp><span class="option">--exclude</span></samp>). + <br><dt><samp><span class="option">--include=</span><var>glob</var></samp><dd><a name="index-g_t_002d_002dinclude-113"></a><a name="index-include-files-114"></a><a name="index-searching-directory-trees-115"></a>Search only files whose name matches <var>glob</var>, +using wildcard matching as described under <samp><span class="option">--exclude</span></samp>. <br><dt><samp><span class="option">-r</span></samp><dt><samp><span class="option">--recursive</span></samp><dd><a name="index-g_t_002dr-116"></a><a name="index-g_t_002d_002drecursive-117"></a><a name="index-recursive-search-118"></a><a name="index-searching-directory-trees-119"></a><a name="index-symbolic-links-120"></a>For each directory operand, read and process all files in that directory, recursively. @@ -623,7 +628,7 @@ <samp><span class="command">grep</span></samp> guesses whether a file is text or binary as described for the <samp><span class="option">--binary-files</span></samp> option. If <samp><span class="command">grep</span></samp> decides the file is a text file, -it strips the <code>CR</code> characters from the original file contents +it strips carriage returns from the original file contents (to make regular expressions with <code>^</code> and <code>$</code> work correctly). Specifying <samp><span class="option">-U</span></samp> overrules this guesswork, causing all files to be read and passed to the matching mechanism verbatim; @@ -633,7 +638,7 @@ on platforms other than MS-DOS and MS-Windows. <br><dt><samp><span class="option">-z</span></samp><dt><samp><span class="option">--null-data</span></samp><dd><a name="index-g_t_002dz-132"></a><a name="index-g_t_002d_002dnull_002ddata-133"></a><a name="index-zero_002dterminated-lines-134"></a>Treat the input as a set of lines, each terminated by a zero byte (the -ASCII <code>NUL</code> character) instead of a newline. +ASCII NUL character) instead of a newline. Like the <samp><span class="option">-Z</span></samp> or <samp><span class="option">--null</span></samp> option, this option can be used with commands like ‘<samp><span class="samp">sort -z</span></samp>’ to process arbitrary file names. @@ -654,15 +659,19 @@ <p>The behavior of <samp><span class="command">grep</span></samp> is affected by the following environment variables. - <p>The locale for category <code>LC_</code><var>foo</var><!-- /@w --> + <p><a name="index-LANGUAGE-_0040r_007benvironment-variable_007d-135"></a><a name="index-LC_005fALL-_0040r_007benvironment-variable_007d-136"></a><a name="index-LC_005fMESSAGES-_0040r_007benvironment-variable_007d-137"></a><a name="index-LANG-_0040r_007benvironment-variable_007d-138"></a>The locale for category <code>LC_</code><var>foo</var><!-- /@w --> is specified by examining the three environment variables <samp><span class="env">LC_ALL</span></samp>, <samp><span class="env">LC_</span><var>foo</var></samp><!-- /@w -->, and <samp><span class="env">LANG</span></samp>, in that order. The first of these variables that is set specifies the locale. For example, if <samp><span class="env">LC_ALL</span></samp> is not set, -but <samp><span class="env">LC_MESSAGES</span></samp> is set to ‘<samp><span class="samp">pt_BR</span></samp>’, +but <samp><span class="env">LC_COLLATE</span></samp> is set to ‘<samp><span class="samp">pt_BR</span></samp>’, then the Brazilian Portuguese locale is used -for the <code>LC_MESSAGES</code> category. +for the <samp><span class="env">LC_COLLATE</span></samp> category. +As a special case for <samp><span class="env">LC_MESSAGES</span></samp> only, the environment variable +<samp><span class="env">LANGUAGE</span></samp> can contain a colon-separated list of languages that +overrides the three environment variables that ordinarily specify +the <samp><span class="env">LC_MESSAGES</span></samp> category. The ‘<samp><span class="samp">C</span></samp>’ locale is used if none of these environment variables are set, if the locale catalog is not installed, or if <samp><span class="command">grep</span></samp> was not compiled @@ -702,28 +711,15 @@ These capabilities are stored in an online database and accessed by the <code>terminfo</code> library. - <p><a name="index-environment-variables-135"></a> + <p><a name="index-environment-variables-139"></a> <dl> -<dt><samp><span class="env">GREP_OPTIONS</span></samp><dd><a name="index-GREP_005fOPTIONS-_0040r_007benvironment-variable_007d-136"></a><a name="index-default-options-environment-variable-137"></a>This variable specifies default options to be placed in front of any +<dt><samp><span class="env">GREP_OPTIONS</span></samp><dd><a name="index-GREP_005fOPTIONS-_0040r_007benvironment-variable_007d-140"></a><a name="index-default-options-environment-variable-141"></a>This variable specifies default options to be placed in front of any explicit options. -For example, if <code>GREP_OPTIONS</code> is -‘<samp><span class="samp">--binary-files=without-match --directories=skip</span></samp>’, <samp><span class="command">grep</span></samp> -behaves as if the two options ‘<samp><span class="samp">--binary-files=without-match</span></samp>’ and -‘<samp><span class="samp">--directories=skip</span></samp>’ had been specified before -any explicit options. -Option specifications are separated by -whitespace. -A backslash escapes the next character, so it can be used to -specify an option containing whitespace or a backslash. - - <p>The <code>GREP_OPTIONS</code> value does not affect whether <samp><span class="command">grep</span></samp> -without file operands searches standard input or the working -directory; that is affected only by command-line options. For -example, the command ‘<samp><span class="samp">grep PAT</span></samp>’ searches standard input and the -command ‘<samp><span class="samp">grep -r PAT</span></samp>’ searches the working directory, regardless -of whether <code>GREP_OPTIONS</code> contains <samp><span class="option">-r</span></samp>. +As this causes problems when writing portable scripts, this feature +will be removed in a future release of <samp><span class="command">grep</span></samp>, and <samp><span class="command">grep</span></samp> +warns if it is used. Please use an alias or script instead. - <br><dt><samp><span class="env">GREP_COLOR</span></samp><dd><a name="index-GREP_005fCOLOR-_0040r_007benvironment-variable_007d-138"></a><a name="index-highlight-markers-139"></a>This variable specifies the color used to highlight matched (non-empty) text. + <br><dt><samp><span class="env">GREP_COLOR</span></samp><dd><a name="index-GREP_005fCOLOR-_0040r_007benvironment-variable_007d-142"></a><a name="index-highlight-markers-143"></a>This variable specifies the color used to highlight matched (non-empty) text. It is deprecated in favor of <samp><span class="env">GREP_COLORS</span></samp>, but still supported. The ‘<samp><span class="samp">mt</span></samp>’, ‘<samp><span class="samp">ms</span></samp>’, and ‘<samp><span class="samp">mc</span></samp>’ capabilities of <samp><span class="env">GREP_COLORS</span></samp> have priority over it. @@ -734,7 +730,7 @@ The default is ‘<samp><span class="samp">01;31</span></samp>’, which means a bold red foreground text on the terminal's default background. - <br><dt><samp><span class="env">GREP_COLORS</span></samp><dd><a name="index-GREP_005fCOLORS-_0040r_007benvironment-variable_007d-140"></a><a name="index-highlight-markers-141"></a>This variable specifies the colors and other attributes + <br><dt><samp><span class="env">GREP_COLORS</span></samp><dd><a name="index-GREP_005fCOLORS-_0040r_007benvironment-variable_007d-144"></a><a name="index-highlight-markers-145"></a>This variable specifies the colors and other attributes used to highlight various parts of the output. Its value is a colon-separated list of <code>terminfo</code> capabilities that defaults to ‘<samp><span class="samp">ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36</span></samp>’ @@ -742,7 +738,7 @@ Supported capabilities are as follows. <dl> -<dt><code>sl=</code><dd><a name="index-sl-GREP_005fCOLORS-_0040r_007bcapability_007d-142"></a>SGR substring for whole selected lines +<dt><code>sl=</code><dd><a name="index-sl-GREP_005fCOLORS-_0040r_007bcapability_007d-146"></a>SGR substring for whole selected lines (i.e., matching lines when the <samp><span class="option">-v</span></samp> command-line option is omitted, or non-matching lines when <samp><span class="option">-v</span></samp> is specified). @@ -751,7 +747,7 @@ it applies to context matching lines instead. The default is empty (i.e., the terminal's default color pair). - <br><dt><code>cx=</code><dd><a name="index-cx-GREP_005fCOLORS-_0040r_007bcapability_007d-143"></a>SGR substring for whole context lines + <br><dt><code>cx=</code><dd><a name="index-cx-GREP_005fCOLORS-_0040r_007bcapability_007d-147"></a>SGR substring for whole context lines (i.e., non-matching lines when the <samp><span class="option">-v</span></samp> command-line option is omitted, or matching lines when <samp><span class="option">-v</span></samp> is specified). @@ -760,12 +756,12 @@ it applies to selected non-matching lines instead. The default is empty (i.e., the terminal's default color pair). - <br><dt><code>rv</code><dd><a name="index-rv-GREP_005fCOLORS-_0040r_007bcapability_007d-144"></a>Boolean value that reverses (swaps) the meanings of + <br><dt><code>rv</code><dd><a name="index-rv-GREP_005fCOLORS-_0040r_007bcapability_007d-148"></a>Boolean value that reverses (swaps) the meanings of the ‘<samp><span class="samp">sl=</span></samp>’ and ‘<samp><span class="samp">cx=</span></samp>’ capabilities when the <samp><span class="option">-v</span></samp> command-line option is specified. The default is false (i.e., the capability is omitted). - <br><dt><code>mt=01;31</code><dd><a name="index-mt-GREP_005fCOLORS-_0040r_007bcapability_007d-145"></a>SGR substring for matching non-empty text in any matching line + <br><dt><code>mt=01;31</code><dd><a name="index-mt-GREP_005fCOLORS-_0040r_007bcapability_007d-149"></a>SGR substring for matching non-empty text in any matching line (i.e., a selected line when the <samp><span class="option">-v</span></samp> command-line option is omitted, or a context line when <samp><span class="option">-v</span></samp> is specified). @@ -773,35 +769,35 @@ at once to the same value. The default is a bold red text foreground over the current line background. - <br><dt><code>ms=01;31</code><dd><a name="index-ms-GREP_005fCOLORS-_0040r_007bcapability_007d-146"></a>SGR substring for matching non-empty text in a selected line. + <br><dt><code>ms=01;31</code><dd><a name="index-ms-GREP_005fCOLORS-_0040r_007bcapability_007d-150"></a>SGR substring for matching non-empty text in a selected line. (This is used only when the <samp><span class="option">-v</span></samp> command-line option is omitted.) The effect of the ‘<samp><span class="samp">sl=</span></samp>’ (or ‘<samp><span class="samp">cx=</span></samp>’ if ‘<samp><span class="samp">rv</span></samp>’) capability remains active when this takes effect. The default is a bold red text foreground over the current line background. - <br><dt><code>mc=01;31</code><dd><a name="index-mc-GREP_005fCOLORS-_0040r_007bcapability_007d-147"></a>SGR substring for matching non-empty text in a context line. + <br><dt><code>mc=01;31</code><dd><a name="index-mc-GREP_005fCOLORS-_0040r_007bcapability_007d-151"></a>SGR substring for matching non-empty text in a context line. (This is used only when the <samp><span class="option">-v</span></samp> command-line option is specified.) The effect of the ‘<samp><span class="samp">cx=</span></samp>’ (or ‘<samp><span class="samp">sl=</span></samp>’ if ‘<samp><span class="samp">rv</span></samp>’) capability remains active when this takes effect. The default is a bold red text foreground over the current line background. - <br><dt><code>fn=35</code><dd><a name="index-fn-GREP_005fCOLORS-_0040r_007bcapability_007d-148"></a>SGR substring for file names prefixing any content line. + <br><dt><code>fn=35</code><dd><a name="index-fn-GREP_005fCOLORS-_0040r_007bcapability_007d-152"></a>SGR substring for file names prefixing any content line. The default is a magenta text foreground over the terminal's default background. - <br><dt><code>ln=32</code><dd><a name="index-ln-GREP_005fCOLORS-_0040r_007bcapability_007d-149"></a>SGR substring for line numbers prefixing any content line. + <br><dt><code>ln=32</code><dd><a name="index-ln-GREP_005fCOLORS-_0040r_007bcapability_007d-153"></a>SGR substring for line numbers prefixing any content line. The default is a green text foreground over the terminal's default background. - <br><dt><code>bn=32</code><dd><a name="index-bn-GREP_005fCOLORS-_0040r_007bcapability_007d-150"></a>SGR substring for byte offsets prefixing any content line. + <br><dt><code>bn=32</code><dd><a name="index-bn-GREP_005fCOLORS-_0040r_007bcapability_007d-154"></a>SGR substring for byte offsets prefixing any content line. The default is a green text foreground over the terminal's default background. - <br><dt><code>se=36</code><dd><a name="index-fn-GREP_005fCOLORS-_0040r_007bcapability_007d-151"></a>SGR substring for separators that are inserted + <br><dt><code>se=36</code><dd><a name="index-fn-GREP_005fCOLORS-_0040r_007bcapability_007d-155"></a>SGR substring for separators that are inserted between selected line fields (‘<samp><span class="samp">:</span></samp>’), between context line fields (‘<samp><span class="samp">-</span></samp>’), and between groups of adjacent lines when nonzero context is specified (‘<samp><span class="samp">--</span></samp>’). The default is a cyan text foreground over the terminal's default background. - <br><dt><code>ne</code><dd><a name="index-ne-GREP_005fCOLORS-_0040r_007bcapability_007d-152"></a>Boolean value that prevents clearing to the end of line + <br><dt><code>ne</code><dd><a name="index-ne-GREP_005fCOLORS-_0040r_007bcapability_007d-156"></a>Boolean value that prevents clearing to the end of line using Erase in Line (EL) to Right (‘<samp><span class="samp">\33[K</span></samp>’) each time a colorized item ends. This is needed on terminals on which EL is not supported. @@ -816,19 +812,19 @@ <p>Note that boolean capabilities have no ‘<samp><span class="samp">=</span></samp>’... part. They are omitted (i.e., false) by default and become true when specified. - <br><dt><samp><span class="env">LC_ALL</span></samp><dt><samp><span class="env">LC_COLLATE</span></samp><dt><samp><span class="env">LANG</span></samp><dd><a name="index-LC_005fALL-_0040r_007benvironment-variable_007d-153"></a><a name="index-LC_005fCOLLATE-_0040r_007benvironment-variable_007d-154"></a><a name="index-LANG-_0040r_007benvironment-variable_007d-155"></a><a name="index-character-type-156"></a><a name="index-national-language-support-157"></a><a name="index-NLS-158"></a>These variables specify the locale for the <code>LC_COLLATE</code> category, + <br><dt><samp><span class="env">LC_ALL</span></samp><dt><samp><span class="env">LC_COLLATE</span></samp><dt><samp><span class="env">LANG</span></samp><dd><a name="index-LC_005fALL-_0040r_007benvironment-variable_007d-157"></a><a name="index-LC_005fCOLLATE-_0040r_007benvironment-variable_007d-158"></a><a name="index-LANG-_0040r_007benvironment-variable_007d-159"></a><a name="index-character-type-160"></a><a name="index-national-language-support-161"></a><a name="index-NLS-162"></a>These variables specify the locale for the <samp><span class="env">LC_COLLATE</span></samp> category, which might affect how range expressions like ‘<samp><span class="samp">[a-z]</span></samp>’ are interpreted. - <br><dt><samp><span class="env">LC_ALL</span></samp><dt><samp><span class="env">LC_CTYPE</span></samp><dt><samp><span class="env">LANG</span></samp><dd><a name="index-LC_005fALL-_0040r_007benvironment-variable_007d-159"></a><a name="index-LC_005fCTYPE-_0040r_007benvironment-variable_007d-160"></a><a name="index-LANG-_0040r_007benvironment-variable_007d-161"></a>These variables specify the locale for the <code>LC_CTYPE</code> category, + <br><dt><samp><span class="env">LC_ALL</span></samp><dt><samp><span class="env">LC_CTYPE</span></samp><dt><samp><span class="env">LANG</span></samp><dd><a name="index-LC_005fALL-_0040r_007benvironment-variable_007d-163"></a><a name="index-LC_005fCTYPE-_0040r_007benvironment-variable_007d-164"></a><a name="index-LANG-_0040r_007benvironment-variable_007d-165"></a>These variables specify the locale for the <samp><span class="env">LC_CTYPE</span></samp> category, which determines the type of characters, e.g., which characters are whitespace. - <br><dt><samp><span class="env">LC_ALL</span></samp><dt><samp><span class="env">LC_MESSAGES</span></samp><dt><samp><span class="env">LANG</span></samp><dd><a name="index-LC_005fALL-_0040r_007benvironment-variable_007d-162"></a><a name="index-LC_005fMESSAGES-_0040r_007benvironment-variable_007d-163"></a><a name="index-LANG-_0040r_007benvironment-variable_007d-164"></a><a name="index-language-of-messages-165"></a><a name="index-message-language-166"></a><a name="index-national-language-support-167"></a><a name="index-translation-of-message-language-168"></a>These variables specify the locale for the <code>LC_MESSAGES</code> category, + <br><dt><samp><span class="env">LANGUAGE</span></samp><dt><samp><span class="env">LC_ALL</span></samp><dt><samp><span class="env">LC_MESSAGES</span></samp><dt><samp><span class="env">LANG</span></samp><dd><a name="index-LANGUAGE-_0040r_007benvironment-variable_007d-166"></a><a name="index-LC_005fALL-_0040r_007benvironment-variable_007d-167"></a><a name="index-LC_005fMESSAGES-_0040r_007benvironment-variable_007d-168"></a><a name="index-LANG-_0040r_007benvironment-variable_007d-169"></a><a name="index-language-of-messages-170"></a><a name="index-message-language-171"></a><a name="index-national-language-support-172"></a><a name="index-translation-of-message-language-173"></a>These variables specify the locale for the <samp><span class="env">LC_MESSAGES</span></samp> category, which determines the language that <samp><span class="command">grep</span></samp> uses for messages. The default ‘<samp><span class="samp">C</span></samp>’ locale uses American English messages. - <br><dt><samp><span class="env">POSIXLY_CORRECT</span></samp><dd><a name="index-POSIXLY_005fCORRECT-_0040r_007benvironment-variable_007d-169"></a>If set, <samp><span class="command">grep</span></samp> behaves as POSIX requires; otherwise, + <br><dt><samp><span class="env">POSIXLY_CORRECT</span></samp><dd><a name="index-POSIXLY_005fCORRECT-_0040r_007benvironment-variable_007d-174"></a>If set, <samp><span class="command">grep</span></samp> behaves as POSIX requires; otherwise, <samp><span class="command">grep</span></samp> behaves more like other GNU programs. POSIX requires that options that @@ -836,10 +832,10 @@ by default, such options are permuted to the front of the operand list and are treated as options. -Also, <code>POSIXLY_CORRECT</code> disables special handling of an +Also, <samp><span class="env">POSIXLY_CORRECT</span></samp> disables special handling of an invalid bracket expression. See <a href="#invalid_002dbracket_002dexpr">invalid-bracket-expr</a>. - <br><dt><samp><span class="env">_</span><var>N</var><span class="env">_GNU_nonoption_argv_flags_</span></samp><dd><a name="index-g_t_005f_0040var_007bN_007d_005fGNU_005fnonoption_005fargv_005fflags_005f-_0040r_007benvironment-variable_007d-170"></a>(Here <var>N</var> is <samp><span class="command">grep</span></samp>'s numeric process ID.) + <br><dt><samp><span class="env">_</span><var>N</var><span class="env">_GNU_nonoption_argv_flags_</span></samp><dd><a name="index-g_t_005f_0040var_007bN_007d_005fGNU_005fnonoption_005fargv_005fflags_005f-_0040r_007benvironment-variable_007d-175"></a>(Here <var>N</var> is <samp><span class="command">grep</span></samp>'s numeric process ID.) If the <var>i</var>th character of this environment variable's value is ‘<samp><span class="samp">1</span></samp>’, do not consider the <var>i</var>th operand of <samp><span class="command">grep</span></samp> to be an option, even if it appears to be one. @@ -847,7 +843,7 @@ specifying which operands are the results of file name wildcard expansion and therefore should not be treated as options. This behavior is available only with the GNU C library, -and only when <code>POSIXLY_CORRECT</code> is not set. +and only when <samp><span class="env">POSIXLY_CORRECT</span></samp> is not set. </dl> @@ -862,17 +858,13 @@ <h3 class="section">2.3 Exit Status</h3> -<p><a name="index-exit-status-171"></a><a name="index-return-status-172"></a> -Normally, the exit status is 0 if selected lines are found and 1 otherwise. -But the exit status is 2 if an error occurred, unless the <samp><span class="option">-q</span></samp> or -<samp><span class="option">--quiet</span></samp> or <samp><span class="option">--silent</span></samp> option is used and a selected line -is found. -Note, however, that POSIX only mandates, -for programs such as <samp><span class="command">grep</span></samp>, <samp><span class="command">cmp</span></samp>, and <samp><span class="command">diff</span></samp>, -that the exit status in case of error be greater than 1; -it is therefore advisable, for the sake of portability, -to use logic that tests for this general condition -instead of strict equality with 2. +<p><a name="index-exit-status-176"></a><a name="index-return-status-177"></a> +Normally the exit status is 0 if a line is selected, 1 if no lines +were selected, and 2 if an error occurred. However, if the +<samp><span class="option">-q</span></samp> or <samp><span class="option">--quiet</span></samp> or <samp><span class="option">--silent</span></samp> option is used +and a line is selected, the exit status is 0 even if an error +occurred. Other <samp><span class="command">grep</span></samp> implementations may exit with status +greater than 2 on error. <div class="node"> <a name="grep-Programs"></a> @@ -884,7 +876,7 @@ <h3 class="section">2.4 <samp><span class="command">grep</span></samp> Programs</h3> -<p><a name="index-g_t_0040command_007bgrep_007d-programs-173"></a><a name="index-variants-of-_0040command_007bgrep_007d-174"></a> +<p><a name="index-g_t_0040command_007bgrep_007d-programs-178"></a><a name="index-variants-of-_0040command_007bgrep_007d-179"></a> <samp><span class="command">grep</span></samp> searches the named input files for lines containing a match to the given pattern. By default, <samp><span class="command">grep</span></samp> prints the matching lines. @@ -896,17 +888,17 @@ controlled by the following options. <dl> -<dt><samp><span class="option">-G</span></samp><dt><samp><span class="option">--basic-regexp</span></samp><dd><a name="index-g_t_002dG-175"></a><a name="index-g_t_002d_002dbasic_002dregexp-176"></a><a name="index-matching-basic-regular-expressions-177"></a>Interpret the pattern as a basic regular expression (BRE). +<dt><samp><span class="option">-G</span></samp><dt><samp><span class="option">--basic-regexp</span></samp><dd><a name="index-g_t_002dG-180"></a><a name="index-g_t_002d_002dbasic_002dregexp-181"></a><a name="index-matching-basic-regular-expressions-182"></a>Interpret the pattern as a basic regular expression (BRE). This is the default. - <br><dt><samp><span class="option">-E</span></samp><dt><samp><span class="option">--extended-regexp</span></samp><dd><a name="index-g_t_002dE-178"></a><a name="index-g_t_002d_002dextended_002dregexp-179"></a><a name="index-matching-extended-regular-expressions-180"></a>Interpret the pattern as an extended regular expression (ERE). + <br><dt><samp><span class="option">-E</span></samp><dt><samp><span class="option">--extended-regexp</span></samp><dd><a name="index-g_t_002dE-183"></a><a name="index-g_t_002d_002dextended_002dregexp-184"></a><a name="index-matching-extended-regular-expressions-185"></a>Interpret the pattern as an extended regular expression (ERE). (<samp><span class="option">-E</span></samp> is specified by POSIX.) - <br><dt><samp><span class="option">-F</span></samp><dt><samp><span class="option">--fixed-strings</span></samp><dd><a name="index-g_t_002dF-181"></a><a name="index-g_t_002d_002dfixed_002dstrings-182"></a><a name="index-matching-fixed-strings-183"></a>Interpret the pattern as a list of fixed strings, separated + <br><dt><samp><span class="option">-F</span></samp><dt><samp><span class="option">--fixed-strings</span></samp><dd><a name="index-g_t_002dF-186"></a><a name="index-g_t_002d_002dfixed_002dstrings-187"></a><a name="index-matching-fixed-strings-188"></a>Interpret the pattern as a list of fixed strings, separated by newlines, any of which is to be matched. (<samp><span class="option">-F</span></samp> is specified by POSIX.) - <br><dt><samp><span class="option">-P</span></samp><dt><samp><span class="option">--perl-regexp</span></samp><dd><a name="index-g_t_002dP-184"></a><a name="index-g_t_002d_002dperl_002dregexp-185"></a><a name="index-matching-Perl-regular-expressions-186"></a>Interpret the pattern as a Perl regular expression. + <br><dt><samp><span class="option">-P</span></samp><dt><samp><span class="option">--perl-regexp</span></samp><dd><a name="index-g_t_002dP-189"></a><a name="index-g_t_002d_002dperl_002dregexp-190"></a><a name="index-matching-Perl-regular-expressions-191"></a>Interpret the pattern as a Perl regular expression. This is highly experimental and ‘<samp><span class="samp">grep -P</span></samp>’ may warn of unimplemented features. @@ -932,7 +924,7 @@ <h2 class="chapter">3 Regular Expressions</h2> -<p><a name="index-regular-expressions-187"></a> +<p><a name="index-regular-expressions-192"></a> A <dfn>regular expression</dfn> is a pattern that describes a set of strings. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions. @@ -979,22 +971,22 @@ repetition operators: <dl> -<dt>‘<samp><span class="samp">.</span></samp>’<dd><a name="index-g_t_002e-188"></a><a name="index-dot-189"></a><a name="index-period-190"></a>The period ‘<samp><span class="samp">.</span></samp>’ matches any single character. +<dt>‘<samp><span class="samp">.</span></samp>’<dd><a name="index-g_t_002e-193"></a><a name="index-dot-194"></a><a name="index-period-195"></a>The period ‘<samp><span class="samp">.</span></samp>’ matches any single character. - <br><dt>‘<samp><span class="samp">?</span></samp>’<dd><a name="index-g_t_003f-191"></a><a name="index-question-mark-192"></a><a name="index-match-expression-at-most-once-193"></a>The preceding item is optional and will be matched at most once. + <br><dt>‘<samp><span class="samp">?</span></samp>’<dd><a name="index-g_t_003f-196"></a><a name="index-question-mark-197"></a><a name="index-match-expression-at-most-once-198"></a>The preceding item is optional and will be matched at most once. - <br><dt>‘<samp><span class="samp">*</span></samp>’<dd><a name="index-g_t_002a-194"></a><a name="index-asterisk-195"></a><a name="index-match-expression-zero-or-more-times-196"></a>The preceding item will be matched zero or more times. + <br><dt>‘<samp><span class="samp">*</span></samp>’<dd><a name="index-g_t_002a-199"></a><a name="index-asterisk-200"></a><a name="index-match-expression-zero-or-more-times-201"></a>The preceding item will be matched zero or more times. - <br><dt>‘<samp><span class="samp">+</span></samp>’<dd><a name="index-g_t_002b-197"></a><a name="index-plus-sign-198"></a><a name="index-match-expression-one-or-more-times-199"></a>The preceding item will be matched one or more times. + <br><dt>‘<samp><span class="samp">+</span></samp>’<dd><a name="index-g_t_002b-202"></a><a name="index-plus-sign-203"></a><a name="index-match-expression-one-or-more-times-204"></a>The preceding item will be matched one or more times. - <br><dt>‘<samp><span class="samp">{</span><var>n</var><span class="samp">}</span></samp>’<dd><a name="index-g_t_0040_007b_0040var_007bn_007d_0040_007d-200"></a><a name="index-braces_002c-one-argument-201"></a><a name="index-match-expression-_0040var_007bn_007d-times-202"></a>The preceding item is matched exactly <var>n</var> times. + <br><dt>‘<samp><span class="samp">{</span><var>n</var><span class="samp">}</span></samp>’<dd><a name="index-g_t_0040_007b_0040var_007bn_007d_0040_007d-205"></a><a name="index-braces_002c-one-argument-206"></a><a name="index-match-expression-_0040var_007bn_007d-times-207"></a>The preceding item is matched exactly <var>n</var> times. - <br><dt>‘<samp><span class="samp">{</span><var>n</var><span class="samp">,}</span></samp>’<dd><a name="index-g_t_0040_007b_0040var_007bn_007d_002c_0040_007d-203"></a><a name="index-braces_002c-second-argument-omitted-204"></a><a name="index-match-expression-_0040var_007bn_007d-or-more-times-205"></a>The preceding item is matched <var>n</var> or more times. + <br><dt>‘<samp><span class="samp">{</span><var>n</var><span class="samp">,}</span></samp>’<dd><a name="index-g_t_0040_007b_0040var_007bn_007d_002c_0040_007d-208"></a><a name="index-braces_002c-second-argument-omitted-209"></a><a name="index-match-expression-_0040var_007bn_007d-or-more-times-210"></a>The preceding item is matched <var>n</var> or more times. - <br><dt>‘<samp><span class="samp">{,</span><var>m</var><span class="samp">}</span></samp>’<dd><a name="index-g_t_0040_007b_002c_0040var_007bm_007d_0040_007d-206"></a><a name="index-braces_002c-first-argument-omitted-207"></a><a name="index-match-expression-at-most-_0040var_007bm_007d-times-208"></a>The preceding item is matched at most <var>m</var> times. + <br><dt>‘<samp><span class="samp">{,</span><var>m</var><span class="samp">}</span></samp>’<dd><a name="index-g_t_0040_007b_002c_0040var_007bm_007d_0040_007d-211"></a><a name="index-braces_002c-first-argument-omitted-212"></a><a name="index-match-expression-at-most-_0040var_007bm_007d-times-213"></a>The preceding item is matched at most <var>m</var> times. This is a GNU extension. - <br><dt>‘<samp><span class="samp">{</span><var>n</var><span class="samp">,</span><var>m</var><span class="samp">}</span></samp>’<dd><a name="index-g_t_0040_007b_0040var_007bn_007d_002c_0040var_007bm_007d_0040_007d-209"></a><a name="index-braces_002c-two-arguments-210"></a><a name="index-match-expression-from-_0040var_007bn_007d-to-_0040var_007bm_007d-times-211"></a>The preceding item is matched at least <var>n</var> times, but not more than + <br><dt>‘<samp><span class="samp">{</span><var>n</var><span class="samp">,</span><var>m</var><span class="samp">}</span></samp>’<dd><a name="index-g_t_0040_007b_0040var_007bn_007d_002c_0040var_007bm_007d_0040_007d-214"></a><a name="index-braces_002c-two-arguments-215"></a><a name="index-match-expression-from-_0040var_007bn_007d-to-_0040var_007bm_007d-times-216"></a>The preceding item is matched at least <var>n</var> times, but not more than <var>m</var> times. </dl> @@ -1013,6 +1005,7 @@ which in turn takes precedence over alternation. A whole expression may be enclosed in parentheses to override these precedence rules and form a subexpression. +An unmatched ‘<samp><span class="samp">)</span></samp>’ matches just itself. <div class="node"> <a name="Character-Classes-and-Bracket-Expressions"></a> @@ -1025,7 +1018,7 @@ <h3 class="section">3.2 Character Classes and Bracket Expressions</h3> -<p><a name="index-bracket-expression-212"></a><a name="index-character-class-213"></a>A <dfn>bracket expression</dfn> is a list of characters enclosed by ‘<samp><span class="samp">[</span></samp>’ and +<p><a name="index-bracket-expression-217"></a><a name="index-character-class-218"></a>A <dfn>bracket expression</dfn> is a list of characters enclosed by ‘<samp><span class="samp">[</span></samp>’ and ‘<samp><span class="samp">]</span></samp>’. It matches any single character in that list; if the first character of the list is the caret ‘<samp><span class="samp">^</span></samp>’, @@ -1033,7 +1026,7 @@ For example, the regular expression ‘<samp><span class="samp">[0123456789]</span></samp>’ matches any single digit. - <p><a name="index-range-expression-214"></a>Within a bracket expression, a <dfn>range expression</dfn> consists of two + <p><a name="index-range-expression-219"></a>Within a bracket expression, a <dfn>range expression</dfn> consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive. @@ -1049,52 +1042,54 @@ <p>Finally, certain named classes of characters are predefined within bracket expressions, as follows. -Their interpretation depends on the <code>LC_CTYPE</code> locale; +Their interpretation depends on the <samp><span class="env">LC_CTYPE</span></samp> locale; for example, ‘<samp><span class="samp">[[:alnum:]]</span></samp>’ means the character class of numbers and letters in the current locale. - <p><a name="index-classes-of-characters-215"></a><a name="index-character-classes-216"></a> + <p><a name="index-classes-of-characters-220"></a><a name="index-character-classes-221"></a> <dl> -<dt>‘<samp><span class="samp">[:alnum:]</span></samp>’<dd><a name="index-alnum-_0040r_007bcharacter-class_007d-217"></a><a name="index-alphanumeric-characters-218"></a>Alphanumeric characters: -‘<samp><span class="samp">[:alpha:]</span></samp>’ and ‘<samp><span class="samp">[:digit:]</span></samp>’; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character encoding, this is the same as ‘<samp><span class="samp">[0-9A-Za-z]</span></samp>’. +<dt>‘<samp><span class="samp">[:alnum:]</span></samp>’<dd><a name="index-alnum-_0040r_007bcharacter-class_007d-222"></a><a name="index-alphanumeric-characters-223"></a>Alphanumeric characters: +‘<samp><span class="samp">[:alpha:]</span></samp>’ and ‘<samp><span class="samp">[:digit:]</span></samp>’; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII +character encoding, this is the same as ‘<samp><span class="samp">[0-9A-Za-z]</span></samp>’. + + <br><dt>‘<samp><span class="samp">[:alpha:]</span></samp>’<dd><a name="index-alpha-_0040r_007bcharacter-class_007d-224"></a><a name="index-alphabetic-characters-225"></a>Alphabetic characters: +‘<samp><span class="samp">[:lower:]</span></samp>’ and ‘<samp><span class="samp">[:upper:]</span></samp>’; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII +character encoding, this is the same as ‘<samp><span class="samp">[A-Za-z]</span></samp>’. - <br><dt>‘<samp><span class="samp">[:alpha:]</span></samp>’<dd><a name="index-alpha-_0040r_007bcharacter-class_007d-219"></a><a name="index-alphabetic-characters-220"></a>Alphabetic characters: -‘<samp><span class="samp">[:lower:]</span></samp>’ and ‘<samp><span class="samp">[:upper:]</span></samp>’; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character encoding, this is the same as ‘<samp><span class="samp">[A-Za-z]</span></samp>’. - - <br><dt>‘<samp><span class="samp">[:blank:]</span></samp>’<dd><a name="index-blank-_0040r_007bcharacter-class_007d-221"></a><a name="index-blank-characters-222"></a>Blank characters: + <br><dt>‘<samp><span class="samp">[:blank:]</span></samp>’<dd><a name="index-blank-_0040r_007bcharacter-class_007d-226"></a><a name="index-blank-characters-227"></a>Blank characters: space and tab. - <br><dt>‘<samp><span class="samp">[:cntrl:]</span></samp>’<dd><a name="index-cntrl-_0040r_007bcharacter-class_007d-223"></a><a name="index-control-characters-224"></a>Control characters. + <br><dt>‘<samp><span class="samp">[:cntrl:]</span></samp>’<dd><a name="index-cntrl-_0040r_007bcharacter-class_007d-228"></a><a name="index-control-characters-229"></a>Control characters. In ASCII, these characters have octal codes 000 -through 037, and 177 (<code>DEL</code>). +through 037, and 177 (DEL). In other character sets, these are the equivalent characters, if any. - <br><dt>‘<samp><span class="samp">[:digit:]</span></samp>’<dd><a name="index-digit-_0040r_007bcharacter-class_007d-225"></a><a name="index-digit-characters-226"></a><a name="index-numeric-characters-227"></a>Digits: <code>0 1 2 3 4 5 6 7 8 9</code>. + <br><dt>‘<samp><span class="samp">[:digit:]</span></samp>’<dd><a name="index-digit-_0040r_007bcharacter-class_007d-230"></a><a name="index-digit-characters-231"></a><a name="index-numeric-characters-232"></a>Digits: <code>0 1 2 3 4 5 6 7 8 9</code>. - <br><dt>‘<samp><span class="samp">[:graph:]</span></samp>’<dd><a name="index-graph-_0040r_007bcharacter-class_007d-228"></a><a name="index-graphic-characters-229"></a>Graphical characters: + <br><dt>‘<samp><span class="samp">[:graph:]</span></samp>’<dd><a name="index-graph-_0040r_007bcharacter-class_007d-233"></a><a name="index-graphic-characters-234"></a>Graphical characters: ‘<samp><span class="samp">[:alnum:]</span></samp>’ and ‘<samp><span class="samp">[:punct:]</span></samp>’. - <br><dt>‘<samp><span class="samp">[:lower:]</span></samp>’<dd><a name="index-lower-_0040r_007bcharacter-class_007d-230"></a><a name="index-lower_002dcase-letters-231"></a>Lower-case letters; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character + <br><dt>‘<samp><span class="samp">[:lower:]</span></samp>’<dd><a name="index-lower-_0040r_007bcharacter-class_007d-235"></a><a name="index-lower_002dcase-letters-236"></a>Lower-case letters; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character encoding, this is <code>a b c d e f g h i j k l m n o p q r s t u v w x y z</code>. - <br><dt>‘<samp><span class="samp">[:print:]</span></samp>’<dd><a name="index-print-_0040r_007bcharacter-class_007d-232"></a><a name="index-printable-characters-233"></a>Printable characters: + <br><dt>‘<samp><span class="samp">[:print:]</span></samp>’<dd><a name="index-print-_0040r_007bcharacter-class_007d-237"></a><a name="index-printable-characters-238"></a>Printable characters: ‘<samp><span class="samp">[:alnum:]</span></samp>’, ‘<samp><span class="samp">[:punct:]</span></samp>’, and space. - <br><dt>‘<samp><span class="samp">[:punct:]</span></samp>’<dd><a name="index-punct-_0040r_007bcharacter-class_007d-234"></a><a name="index-punctuation-characters-235"></a>Punctuation characters; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character + <br><dt>‘<samp><span class="samp">[:punct:]</span></samp>’<dd><a name="index-punct-_0040r_007bcharacter-class_007d-239"></a><a name="index-punctuation-characters-240"></a>Punctuation characters; in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character encoding, this is <code>! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~</code>. - <br><dt>‘<samp><span class="samp">[:space:]</span></samp>’<dd><a name="index-space-_0040r_007bcharacter-class_007d-236"></a><a name="index-space-characters-237"></a><a name="index-whitespace-characters-238"></a>Space characters: in the ‘<samp><span class="samp">C</span></samp>’ locale, this is + <br><dt>‘<samp><span class="samp">[:space:]</span></samp>’<dd><a name="index-space-_0040r_007bcharacter-class_007d-241"></a><a name="index-space-characters-242"></a><a name="index-whitespace-characters-243"></a>Space characters: in the ‘<samp><span class="samp">C</span></samp>’ locale, this is tab, newline, vertical tab, form feed, carriage return, and space. See <a href="#Usage">Usage</a>, for more discussion of matching newlines. - <br><dt>‘<samp><span class="samp">[:upper:]</span></samp>’<dd><a name="index-upper-_0040r_007bcharacter-class_007d-239"></a><a name="index-upper_002dcase-letters-240"></a>Upper-case letters: in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character + <br><dt>‘<samp><span class="samp">[:upper:]</span></samp>’<dd><a name="index-upper-_0040r_007bcharacter-class_007d-244"></a><a name="index-upper_002dcase-letters-245"></a>Upper-case letters: in the ‘<samp><span class="samp">C</span></samp>’ locale and ASCII character encoding, this is <code>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</code>. - <br><dt>‘<samp><span class="samp">[:xdigit:]</span></samp>’<dd><a name="index-xdigit-_0040r_007bcharacter-class_007d-241"></a><a name="index-xdigit-class-242"></a><a name="index-hexadecimal-digits-243"></a>Hexadecimal digits: + <br><dt>‘<samp><span class="samp">[:xdigit:]</span></samp>’<dd><a name="index-xdigit-_0040r_007bcharacter-class_007d-246"></a><a name="index-xdigit-class-247"></a><a name="index-hexadecimal-digits-248"></a>Hexadecimal digits: <code>0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f</code>. </dl> @@ -1106,7 +1101,7 @@ GNU <samp><span class="command">grep</span></samp> prints a diagnostic and exits with status 2, on the assumption that you did not intend to search for the nominally equivalent regular expression: ‘<samp><span class="samp">[:epru]</span></samp>’. -Set the <code>POSIXLY_CORRECT</code> environment variable to disable this feature. +Set the <samp><span class="env">POSIXLY_CORRECT</span></samp> environment variable to disable this feature. <p>Most meta-characters lose their special meaning inside bracket expressions. @@ -1123,7 +1118,8 @@ <br><dt>‘<samp><span class="samp">=]</span></samp>’<dd>represents the close equivalence class. - <br><dt>‘<samp><span class="samp">[:</span></samp>’<dd>represents the open character class symbol, and should be followed by a valid character class name. + <br><dt>‘<samp><span class="samp">[:</span></samp>’<dd>represents the open character class symbol, and should be followed by a +valid character class name. <br><dt>‘<samp><span class="samp">:]</span></samp>’<dd>represents the close character class symbol. @@ -1147,7 +1143,7 @@ <h3 class="section">3.3 The Backslash Character and Special Expressions</h3> -<p><a name="index-backslash-244"></a> +<p><a name="index-backslash-249"></a> The ‘<samp><span class="samp">\</span></samp>’ character, when followed by certain ordinary characters, takes a special meaning: @@ -1185,7 +1181,7 @@ <h3 class="section">3.4 Anchoring</h3> -<p><a name="index-anchoring-245"></a> +<p><a name="index-anchoring-250"></a> The caret ‘<samp><span class="samp">^</span></samp>’ and the dollar sign ‘<samp><span class="samp">$</span></samp>’ are meta-characters that respectively match the empty string at the beginning and end of a line. They are termed <dfn>anchors</dfn>, since they force the match to be “anchored” @@ -1203,7 +1199,7 @@ <h3 class="section">3.5 Back-references and Subexpressions</h3> -<p><a name="index-subexpression-246"></a><a name="index-back_002dreference-247"></a> +<p><a name="index-subexpression-251"></a><a name="index-back_002dreference-252"></a> The back-reference ‘<samp><span class="samp">\</span><var>n</var></samp>’, where <var>n</var> is a single digit, matches the substring previously matched by the <var>n</var>th parenthesized subexpression of the regular expression. @@ -1226,13 +1222,13 @@ <h3 class="section">3.6 Basic vs Extended Regular Expressions</h3> -<p><a name="index-basic-regular-expressions-248"></a> +<p><a name="index-basic-regular-expressions-253"></a> In basic regular expressions the meta-characters ‘<samp><span class="samp">?</span></samp>’, ‘<samp><span class="samp">+</span></samp>’, ‘<samp><span class="samp">{</span></samp>’, ‘<samp><span class="samp">|</span></samp>’, ‘<samp><span class="samp">(</span></samp>’, and ‘<samp><span class="samp">)</span></samp>’ lose their special meaning; instead use the backslashed versions ‘<samp><span class="samp">\?</span></samp>’, ‘<samp><span class="samp">\+</span></samp>’, ‘<samp><span class="samp">\{</span></samp>’, ‘<samp><span class="samp">\|</span></samp>’, ‘<samp><span class="samp">\(</span></samp>’, and ‘<samp><span class="samp">\)</span></samp>’. - <p><a name="index-interval-specifications-249"></a>Traditional <samp><span class="command">egrep</span></samp> did not support the ‘<samp><span class="samp">{</span></samp>’ meta-character, + <p><a name="index-interval-specifications-254"></a>Traditional <samp><span class="command">egrep</span></samp> did not support the ‘<samp><span class="samp">{</span></samp>’ meta-character, and some <samp><span class="command">egrep</span></samp> implementations support ‘<samp><span class="samp">\{</span></samp>’ instead, so portable scripts should avoid ‘<samp><span class="samp">{</span></samp>’ in ‘<samp><span class="samp">grep -E</span></samp>’ patterns and should use ‘<samp><span class="samp">[{]</span></samp>’ to match a literal ‘<samp><span class="samp">{</span></samp>’. @@ -1257,7 +1253,7 @@ <h2 class="chapter">4 Usage</h2> -<p><a name="index-usage_002c-examples-250"></a>Here is an example command that invokes GNU <samp><span class="command">grep</span></samp>: +<p><a name="index-usage_002c-examples-255"></a>Here is an example command that invokes GNU <samp><span class="command">grep</span></samp>: <pre class="example"> grep -i 'hello.*world' menu.h main.c </pre> @@ -1271,7 +1267,7 @@ See <a href="#Invoking">Invoking</a>, for more details about how to invoke <samp><span class="command">grep</span></samp>. - <p><a name="index-using-_0040command_007bgrep_007d_002c-Q_0026A-251"></a><a name="index-FAQ-about-_0040command_007bgrep_007d-usage-252"></a>Here are some common questions and answers about <samp><span class="command">grep</span></samp> usage. + <p><a name="index-using-_0040command_007bgrep_007d_002c-Q_0026A-256"></a><a name="index-FAQ-about-_0040command_007bgrep_007d-usage-257"></a>Here are some common questions and answers about <samp><span class="command">grep</span></samp> usage. <ol type=1 start=1> @@ -1406,7 +1402,7 @@ <pre class="example"> cat /etc/passwd | grep 'alain' - /etc/motd </pre> - <li><a name="index-palindromes-253"></a>How to express palindromes in a regular expression? + <li><a name="index-palindromes-258"></a>How to express palindromes in a regular expression? <p>It can be done by using back-references; for example, @@ -1479,15 +1475,14 @@ <h2 class="chapter">5 Reporting bugs</h2> -<p><a name="index-bugs_002c-reporting-254"></a>Email bug reports to <a href="mailto:[email protected]">[email protected]</a>, -a mailing list whose web page is -<a href="http://lists.gnu.org/mailman/listinfo/bug-grep">http://lists.gnu.org/mailman/listinfo/bug-grep</a>. -The Savannah bug tracker for <samp><span class="command">grep</span></samp> is located at -<a href="http://savannah.gnu.org/bugs/?group=grep">http://savannah.gnu.org/bugs/?group=grep</a>. +<p><a name="index-bugs_002c-reporting-259"></a>Bug reports can be found at the +<a href="http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep">GNU bug report logs for <samp><span class="command">grep</span></samp></a>. +If you find a bug not listed there, please email it to +<a href="mailto:[email protected]">[email protected]</a> to create a new bug report. <h3 class="section">5.1 Known Bugs</h3> -<p><a name="index-Bugs_002c-known-255"></a> +<p><a name="index-Bugs_002c-known-260"></a> Large repetition counts in the ‘<samp><span class="samp">{n,m}</span></samp>’ construct may cause <samp><span class="command">grep</span></samp> to use lots of memory. In addition, certain other @@ -1507,7 +1502,7 @@ <h2 class="chapter">6 Copying</h2> -<p><a name="index-copying-256"></a> +<p><a name="index-copying-261"></a> GNU <samp><span class="command">grep</span></samp> is licensed under the GNU GPL, which makes it <dfn>free software</dfn>. @@ -1547,8 +1542,7 @@ <!-- This file is intended to be included within another document, --> <!-- hence no sectioning command or @node. --> -<pre class="display"> Copyright © 2000-2002, 2007-2008, 2010-2014 Free Software - Foundation, Inc. +<pre class="display"> Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a> Everyone is permitted to copy and distribute verbatim copies @@ -1632,16 +1626,16 @@ of text. A copy that is not “Transparent” is called “Opaque”. <p>Examples of suitable formats for Transparent copies include plain -<span class="sc">ascii</span> without markup, Texinfo input format, LaTeX input -format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available -<acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>, -PostScript or <acronym>PDF</acronym> designed for human modification. Examples -of transparent image formats include <acronym>PNG</acronym>, <acronym>XCF</acronym> and -<acronym>JPG</acronym>. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, <acronym>SGML</acronym> or -<acronym>XML</acronym> for which the <acronym>DTD</acronym> and/or processing tools are -not generally available, and the machine-generated <acronym>HTML</acronym>, -PostScript or <acronym>PDF</acronym> produced by some word processors for +ASCII without markup, Texinfo input format, LaTeX input +format, SGML or XML using a publicly available +DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples +of transparent image formats include PNG, XCF and +JPG. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, SGML or +XML for which the DTD and/or processing tools are +not generally available, and the machine-generated HTML, +PostScript or PDF produced by some word processors for output purposes only. <p>The “Title Page” means, for a printed book, the title page itself, @@ -2020,10 +2014,10 @@ <h2 class="unnumbered">Index</h2> <ul class="index-cp" compact> -<li><a href="#index-g_t_002a-194"><code>*</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-g_t_002b-197"><code>+</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_002a-199"><code>*</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_002b-202"><code>+</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> <li><a href="#index-g_t_002d_002dafter_002dcontext-77"><code>--after-context</code></a>: <a href="#Context-Line-Control">Context Line Control</a></li> -<li><a href="#index-g_t_002d_002dbasic_002dregexp-176"><code>--basic-regexp</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002d_002dbasic_002dregexp-181"><code>--basic-regexp</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002d_002dbefore_002dcontext-81"><code>--before-context</code></a>: <a href="#Context-Line-Control">Context Line Control</a></li> <li><a href="#index-g_t_002d_002dbinary-129"><code>--binary</code></a>: <a href="#Other-Options">Other Options</a></li> <li><a href="#index-g_t_002d_002dbinary_002dfiles-96"><code>--binary-files</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> @@ -2038,11 +2032,11 @@ <li><a href="#index-g_t_002d_002dexclude-105"><code>--exclude</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-g_t_002d_002dexclude_002ddir-111"><code>--exclude-dir</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-g_t_002d_002dexclude_002dfrom-108"><code>--exclude-from</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> -<li><a href="#index-g_t_002d_002dextended_002dregexp-179"><code>--extended-regexp</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002d_002dextended_002dregexp-184"><code>--extended-regexp</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002d_002dfile-11"><code>--file</code></a>: <a href="#Matching-Control">Matching Control</a></li> <li><a href="#index-g_t_002d_002dfiles_002dwith_002dmatches-37"><code>--files-with-matches</code></a>: <a href="#General-Output-Control">General Output Control</a></li> <li><a href="#index-g_t_002d_002dfiles_002dwithout_002dmatch-34"><code>--files-without-match</code></a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-g_t_002d_002dfixed_002dstrings-182"><code>--fixed-strings</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002d_002dfixed_002dstrings-187"><code>--fixed-strings</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002d_002dgroup_002dseparator-88"><code>--group-separator</code></a>: <a href="#Context-Line-Control">Context Line Control</a></li> <li><a href="#index-g_t_002d_002dhelp-2"><code>--help</code></a>: <a href="#Generic-Program-Information">Generic Program Information</a></li> <li><a href="#index-g_t_002d_002dignore_002dcase-15"><code>--ignore-case</code></a>: <a href="#Matching-Control">Matching Control</a></li> @@ -2059,7 +2053,7 @@ <li><a href="#index-g_t_002d_002dnull-74"><code>--null</code></a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> <li><a href="#index-g_t_002d_002dnull_002ddata-133"><code>--null-data</code></a>: <a href="#Other-Options">Other Options</a></li> <li><a href="#index-g_t_002d_002donly_002dmatching-43"><code>--only-matching</code></a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-g_t_002d_002dperl_002dregexp-185"><code>--perl-regexp</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002d_002dperl_002dregexp-190"><code>--perl-regexp</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002d_002dquiet-46"><code>--quiet</code></a>: <a href="#General-Output-Control">General Output Control</a></li> <li><a href="#index-g_t_002d_002drecursive-117"><code>--recursive</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-g_t_002d_002dregexp_003d_0040var_007bpattern_007d-8"><code>--regexp=</code><var>pattern</var></a>: <a href="#Matching-Control">Matching Control</a></li> @@ -2077,11 +2071,11 @@ <li><a href="#index-g_t_002dc-27"><code>-c</code></a>: <a href="#General-Output-Control">General Output Control</a></li> <li><a href="#index-g_t_002dd-101"><code>-d</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-g_t_002dD-98"><code>-D</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> -<li><a href="#index-g_t_002dE-178"><code>-E</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002dE-183"><code>-E</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002de-7"><code>-e</code></a>: <a href="#Matching-Control">Matching Control</a></li> -<li><a href="#index-g_t_002dF-181"><code>-F</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002dF-186"><code>-F</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002df-10"><code>-f</code></a>: <a href="#Matching-Control">Matching Control</a></li> -<li><a href="#index-g_t_002dG-175"><code>-G</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002dG-180"><code>-G</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002dh-58"><code>-h</code></a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> <li><a href="#index-g_t_002dH-55"><code>-H</code></a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> <li><a href="#index-g_t_002di-13"><code>-i</code></a>: <a href="#Matching-Control">Matching Control</a></li> @@ -2091,7 +2085,7 @@ <li><a href="#index-g_t_002dn-63"><code>-n</code></a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> <li><a href="#index-g_t_002d_0040var_007bnum_007d-86"><code>-</code><var>num</var></a>: <a href="#Context-Line-Control">Context Line Control</a></li> <li><a href="#index-g_t_002do-42"><code>-o</code></a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-g_t_002dP-184"><code>-P</code></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-g_t_002dP-189"><code>-P</code></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-g_t_002dq-45"><code>-q</code></a>: <a href="#General-Output-Control">General Output Control</a></li> <li><a href="#index-g_t_002dR-121"><code>-R</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-g_t_002dr-116"><code>-r</code></a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> @@ -2106,158 +2100,159 @@ <li><a href="#index-g_t_002dy-14"><code>-y</code></a>: <a href="#Matching-Control">Matching Control</a></li> <li><a href="#index-g_t_002dz-132"><code>-z</code></a>: <a href="#Other-Options">Other Options</a></li> <li><a href="#index-g_t_002dZ-73"><code>-Z</code></a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> -<li><a href="#index-g_t_002e-188"><code>.</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-g_t_003f-191"><code>?</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-g_t_005f_0040var_007bN_007d_005fGNU_005fnonoption_005fargv_005fflags_005f-_0040r_007benvironment-variable_007d-170"><code>_</code><var>N</var><code>_GNU_nonoption_argv_flags_ </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-g_t_002e-193"><code>.</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_003f-196"><code>?</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_005f_0040var_007bN_007d_005fGNU_005fnonoption_005fargv_005fflags_005f-_0040r_007benvironment-variable_007d-175"><code>_</code><var>N</var><code>_GNU_nonoption_argv_flags_ </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-after-context-78">after context</a>: <a href="#Context-Line-Control">Context Line Control</a></li> -<li><a href="#index-alnum-_0040r_007bcharacter-class_007d-217"><code>alnum </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-alpha-_0040r_007bcharacter-class_007d-219"><code>alpha </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-alphabetic-characters-220">alphabetic characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-alphanumeric-characters-218">alphanumeric characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-anchoring-245">anchoring</a>: <a href="#Anchoring">Anchoring</a></li> -<li><a href="#index-asterisk-195">asterisk</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-back_002dreference-247">back-reference</a>: <a href="#Back_002dreferences-and-Subexpressions">Back-references and Subexpressions</a></li> -<li><a href="#index-backslash-244">backslash</a>: <a href="#The-Backslash-Character-and-Special-Expressions">The Backslash Character and Special Expressions</a></li> -<li><a href="#index-basic-regular-expressions-248">basic regular expressions</a>: <a href="#Basic-vs-Extended">Basic vs Extended</a></li> +<li><a href="#index-alnum-_0040r_007bcharacter-class_007d-222"><code>alnum </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-alpha-_0040r_007bcharacter-class_007d-224"><code>alpha </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-alphabetic-characters-225">alphabetic characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-alphanumeric-characters-223">alphanumeric characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-anchoring-250">anchoring</a>: <a href="#Anchoring">Anchoring</a></li> +<li><a href="#index-asterisk-200">asterisk</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-back_002dreference-252">back-reference</a>: <a href="#Back_002dreferences-and-Subexpressions">Back-references and Subexpressions</a></li> +<li><a href="#index-backslash-249">backslash</a>: <a href="#The-Backslash-Character-and-Special-Expressions">The Backslash Character and Special Expressions</a></li> +<li><a href="#index-basic-regular-expressions-253">basic regular expressions</a>: <a href="#Basic-vs-Extended">Basic vs Extended</a></li> <li><a href="#index-before-context-82">before context</a>: <a href="#Context-Line-Control">Context Line Control</a></li> <li><a href="#index-binary-files-95">binary files</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-binary-files_002c-MS_002dDOS_002fMS_002dWindows-131">binary files, MS-DOS/MS-Windows</a>: <a href="#Other-Options">Other Options</a></li> -<li><a href="#index-blank-_0040r_007bcharacter-class_007d-221"><code>blank </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-blank-characters-222">blank characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-bn-GREP_005fCOLORS-_0040r_007bcapability_007d-150"><code>bn GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-braces_002c-first-argument-omitted-207">braces, first argument omitted</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-braces_002c-one-argument-201">braces, one argument</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-braces_002c-second-argument-omitted-204">braces, second argument omitted</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-braces_002c-two-arguments-210">braces, two arguments</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-bracket-expression-212">bracket expression</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-Bugs_002c-known-255">Bugs, known</a>: <a href="#Reporting-Bugs">Reporting Bugs</a></li> -<li><a href="#index-bugs_002c-reporting-254">bugs, reporting</a>: <a href="#Reporting-Bugs">Reporting Bugs</a></li> +<li><a href="#index-blank-_0040r_007bcharacter-class_007d-226"><code>blank </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-blank-characters-227">blank characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-bn-GREP_005fCOLORS-_0040r_007bcapability_007d-154"><code>bn GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-braces_002c-first-argument-omitted-212">braces, first argument omitted</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-braces_002c-one-argument-206">braces, one argument</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-braces_002c-second-argument-omitted-209">braces, second argument omitted</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-braces_002c-two-arguments-215">braces, two arguments</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-bracket-expression-217">bracket expression</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-Bugs_002c-known-260">Bugs, known</a>: <a href="#Reporting-Bugs">Reporting Bugs</a></li> +<li><a href="#index-bugs_002c-reporting-259">bugs, reporting</a>: <a href="#Reporting-Bugs">Reporting Bugs</a></li> <li><a href="#index-byte-offset-54">byte offset</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> <li><a href="#index-byte-offsets_002c-on-MS_002dDOS_002fMS_002dWindows-72">byte offsets, on MS-DOS/MS-Windows</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> <li><a href="#index-case-insensitive-search-16">case insensitive search</a>: <a href="#Matching-Control">Matching Control</a></li> <li><a href="#index-changing-name-of-standard-input-62">changing name of standard input</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> -<li><a href="#index-character-class-213">character class</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-character-classes-216">character classes</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-character-type-156">character type</a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-classes-of-characters-215">classes of characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-cntrl-_0040r_007bcharacter-class_007d-223"><code>cntrl </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-character-class-218">character class</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-character-classes-221">character classes</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-character-type-160">character type</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-classes-of-characters-220">classes of characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-cntrl-_0040r_007bcharacter-class_007d-228"><code>cntrl </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-context-87">context</a>: <a href="#Context-Line-Control">Context Line Control</a></li> <li><a href="#index-context-lines_002c-after-match-79">context lines, after match</a>: <a href="#Context-Line-Control">Context Line Control</a></li> <li><a href="#index-context-lines_002c-before-match-83">context lines, before match</a>: <a href="#Context-Line-Control">Context Line Control</a></li> -<li><a href="#index-control-characters-224">control characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-copying-256">copying</a>: <a href="#Copying">Copying</a></li> +<li><a href="#index-control-characters-229">control characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-copying-261">copying</a>: <a href="#Copying">Copying</a></li> <li><a href="#index-counting-lines-29">counting lines</a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-cx-GREP_005fCOLORS-_0040r_007bcapability_007d-143"><code>cx GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-default-options-environment-variable-137">default options environment variable</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-cx-GREP_005fCOLORS-_0040r_007bcapability_007d-147"><code>cx GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-default-options-environment-variable-141">default options environment variable</a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-device-search-100">device search</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> -<li><a href="#index-digit-_0040r_007bcharacter-class_007d-225"><code>digit </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-digit-characters-226">digit characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-digit-_0040r_007bcharacter-class_007d-230"><code>digit </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-digit-characters-231">digit characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-directory-search-103">directory search</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> -<li><a href="#index-dot-189">dot</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-environment-variables-135">environment variables</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-dot-194">dot</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-environment-variables-139">environment variables</a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-exclude-directories-112">exclude directories</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-exclude-files-106">exclude files</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> -<li><a href="#index-exit-status-171">exit status</a>: <a href="#Exit-Status">Exit Status</a></li> -<li><a href="#index-FAQ-about-_0040command_007bgrep_007d-usage-252">FAQ about <samp><span class="command">grep</span></samp> usage</a>: <a href="#Usage">Usage</a></li> +<li><a href="#index-exit-status-176">exit status</a>: <a href="#Exit-Status">Exit Status</a></li> +<li><a href="#index-FAQ-about-_0040command_007bgrep_007d-usage-257">FAQ about <samp><span class="command">grep</span></samp> usage</a>: <a href="#Usage">Usage</a></li> <li><a href="#index-files-which-don_0027t-match-35">files which don't match</a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-fn-GREP_005fCOLORS-_0040r_007bcapability_007d-148"><code>fn GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-graph-_0040r_007bcharacter-class_007d-228"><code>graph </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-graphic-characters-229">graphic characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-g_t_0040command_007bgrep_007d-programs-173"><samp><span class="command">grep</span></samp> programs</a>: <a href="#grep-Programs">grep Programs</a></li> -<li><a href="#index-GREP_005fCOLOR-_0040r_007benvironment-variable_007d-138"><code>GREP_COLOR </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-GREP_005fCOLORS-_0040r_007benvironment-variable_007d-140"><code>GREP_COLORS </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-GREP_005fOPTIONS-_0040r_007benvironment-variable_007d-136"><code>GREP_OPTIONS </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-fn-GREP_005fCOLORS-_0040r_007bcapability_007d-152"><code>fn GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-graph-_0040r_007bcharacter-class_007d-233"><code>graph </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-graphic-characters-234">graphic characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-g_t_0040command_007bgrep_007d-programs-178"><samp><span class="command">grep</span></samp> programs</a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-GREP_005fCOLOR-_0040r_007benvironment-variable_007d-142"><code>GREP_COLOR </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-GREP_005fCOLORS-_0040r_007benvironment-variable_007d-144"><code>GREP_COLORS </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-GREP_005fOPTIONS-_0040r_007benvironment-variable_007d-140"><code>GREP_OPTIONS </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-group-separator-89">group separator</a>: <a href="#Context-Line-Control">Context Line Control</a></li> -<li><a href="#index-hexadecimal-digits-243">hexadecimal digits</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-highlight-markers-139">highlight markers</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-hexadecimal-digits-248">hexadecimal digits</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-highlight-markers-143">highlight markers</a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-highlight_002c-color_002c-colour-32">highlight, color, colour</a>: <a href="#General-Output-Control">General Output Control</a></li> <li><a href="#index-include-files-114">include files</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> -<li><a href="#index-interval-specifications-249">interval specifications</a>: <a href="#Basic-vs-Extended">Basic vs Extended</a></li> +<li><a href="#index-interval-specifications-254">interval specifications</a>: <a href="#Basic-vs-Extended">Basic vs Extended</a></li> <li><a href="#index-invert-matching-19">invert matching</a>: <a href="#Matching-Control">Matching Control</a></li> -<li><a href="#index-LANG-_0040r_007benvironment-variable_007d-155"><code>LANG </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-language-of-messages-165">language of messages</a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-LC_005fALL-_0040r_007benvironment-variable_007d-153"><code>LC_ALL </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-LC_005fCOLLATE-_0040r_007benvironment-variable_007d-154"><code>LC_COLLATE </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-LC_005fCTYPE-_0040r_007benvironment-variable_007d-160"><code>LC_CTYPE </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-LC_005fMESSAGES-_0040r_007benvironment-variable_007d-163"><code>LC_MESSAGES </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-LANG-_0040r_007benvironment-variable_007d-138"><code>LANG </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-LANGUAGE-_0040r_007benvironment-variable_007d-135"><code>LANGUAGE </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-language-of-messages-170">language of messages</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-LC_005fALL-_0040r_007benvironment-variable_007d-136"><code>LC_ALL </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-LC_005fCOLLATE-_0040r_007benvironment-variable_007d-158"><code>LC_COLLATE </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-LC_005fCTYPE-_0040r_007benvironment-variable_007d-164"><code>LC_CTYPE </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-LC_005fMESSAGES-_0040r_007benvironment-variable_007d-137"><code>LC_MESSAGES </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-line-buffering-127">line buffering</a>: <a href="#Other-Options">Other Options</a></li> <li><a href="#index-line-numbering-65">line numbering</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> -<li><a href="#index-ln-GREP_005fCOLORS-_0040r_007bcapability_007d-149"><code>ln GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-lower-_0040r_007bcharacter-class_007d-230"><code>lower </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-lower_002dcase-letters-231">lower-case letters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-match-expression-at-most-_0040var_007bm_007d-times-208">match expression at most <var>m</var> times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-match-expression-at-most-once-193">match expression at most once</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-match-expression-from-_0040var_007bn_007d-to-_0040var_007bm_007d-times-211">match expression from <var>n</var> to <var>m</var> times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-match-expression-_0040var_007bn_007d-or-more-times-205">match expression <var>n</var> or more times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-match-expression-_0040var_007bn_007d-times-202">match expression <var>n</var> times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-match-expression-one-or-more-times-199">match expression one or more times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-match-expression-zero-or-more-times-196">match expression zero or more times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-ln-GREP_005fCOLORS-_0040r_007bcapability_007d-153"><code>ln GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-lower-_0040r_007bcharacter-class_007d-235"><code>lower </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-lower_002dcase-letters-236">lower-case letters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-match-expression-at-most-_0040var_007bm_007d-times-213">match expression at most <var>m</var> times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-match-expression-at-most-once-198">match expression at most once</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-match-expression-from-_0040var_007bn_007d-to-_0040var_007bm_007d-times-216">match expression from <var>n</var> to <var>m</var> times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-match-expression-_0040var_007bn_007d-or-more-times-210">match expression <var>n</var> or more times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-match-expression-_0040var_007bn_007d-times-207">match expression <var>n</var> times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-match-expression-one-or-more-times-204">match expression one or more times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-match-expression-zero-or-more-times-201">match expression zero or more times</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> <li><a href="#index-match-the-whole-line-26">match the whole line</a>: <a href="#Matching-Control">Matching Control</a></li> -<li><a href="#index-matching-basic-regular-expressions-177">matching basic regular expressions</a>: <a href="#grep-Programs">grep Programs</a></li> -<li><a href="#index-matching-extended-regular-expressions-180">matching extended regular expressions</a>: <a href="#grep-Programs">grep Programs</a></li> -<li><a href="#index-matching-fixed-strings-183">matching fixed strings</a>: <a href="#grep-Programs">grep Programs</a></li> -<li><a href="#index-matching-Perl-regular-expressions-186">matching Perl regular expressions</a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-matching-basic-regular-expressions-182">matching basic regular expressions</a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-matching-extended-regular-expressions-185">matching extended regular expressions</a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-matching-fixed-strings-188">matching fixed strings</a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-matching-Perl-regular-expressions-191">matching Perl regular expressions</a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-matching-whole-words-23">matching whole words</a>: <a href="#Matching-Control">Matching Control</a></li> <li><a href="#index-max_002dcount-41">max-count</a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-mc-GREP_005fCOLORS-_0040r_007bcapability_007d-147"><code>mc GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-message-language-166">message language</a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-ms-GREP_005fCOLORS-_0040r_007bcapability_007d-146"><code>ms GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-mc-GREP_005fCOLORS-_0040r_007bcapability_007d-151"><code>mc GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-message-language-171">message language</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-ms-GREP_005fCOLORS-_0040r_007bcapability_007d-150"><code>ms GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-MS_002dDOS_002fMS_002dWindows-binary-files-130">MS-DOS/MS-Windows binary files</a>: <a href="#Other-Options">Other Options</a></li> <li><a href="#index-MS_002dDOS_002fMS_002dWindows-byte-offsets-71">MS-DOS/MS-Windows byte offsets</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> -<li><a href="#index-mt-GREP_005fCOLORS-_0040r_007bcapability_007d-145"><code>mt GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-mt-GREP_005fCOLORS-_0040r_007bcapability_007d-149"><code>mt GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-names-of-matching-files-38">names of matching files</a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-national-language-support-157">national language support</a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-ne-GREP_005fCOLORS-_0040r_007bcapability_007d-152"><code>ne GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-NLS-158">NLS</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-national-language-support-161">national language support</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-ne-GREP_005fCOLORS-_0040r_007bcapability_007d-156"><code>ne GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-NLS-162">NLS</a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-no-filename-prefix-60">no filename prefix</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> -<li><a href="#index-numeric-characters-227">numeric characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-numeric-characters-232">numeric characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-only-matching-44">only matching</a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-palindromes-253">palindromes</a>: <a href="#Usage">Usage</a></li> +<li><a href="#index-palindromes-258">palindromes</a>: <a href="#Usage">Usage</a></li> <li><a href="#index-pattern-from-file-12">pattern from file</a>: <a href="#Matching-Control">Matching Control</a></li> <li><a href="#index-pattern-list-9">pattern list</a>: <a href="#Matching-Control">Matching Control</a></li> -<li><a href="#index-period-190">period</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-plus-sign-198">plus sign</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-POSIXLY_005fCORRECT-_0040r_007benvironment-variable_007d-169"><code>POSIXLY_CORRECT </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-print-_0040r_007bcharacter-class_007d-232"><code>print </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-period-195">period</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-plus-sign-203">plus sign</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-POSIXLY_005fCORRECT-_0040r_007benvironment-variable_007d-174"><code>POSIXLY_CORRECT </code><span class="roman">environment variable</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-print-_0040r_007bcharacter-class_007d-237"><code>print </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-print-non_002dmatching-lines-20">print non-matching lines</a>: <a href="#Matching-Control">Matching Control</a></li> -<li><a href="#index-printable-characters-233">printable characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-punct-_0040r_007bcharacter-class_007d-234"><code>punct </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-punctuation-characters-235">punctuation characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-question-mark-192">question mark</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-printable-characters-238">printable characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-punct-_0040r_007bcharacter-class_007d-239"><code>punct </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-punctuation-characters-240">punctuation characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-question-mark-197">question mark</a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> <li><a href="#index-quiet_002c-silent-48">quiet, silent</a>: <a href="#General-Output-Control">General Output Control</a></li> -<li><a href="#index-range-expression-214">range expression</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-range-expression-219">range expression</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-recursive-search-118">recursive search</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> -<li><a href="#index-regular-expressions-187">regular expressions</a>: <a href="#Regular-Expressions">Regular Expressions</a></li> -<li><a href="#index-return-status-172">return status</a>: <a href="#Exit-Status">Exit Status</a></li> -<li><a href="#index-rv-GREP_005fCOLORS-_0040r_007bcapability_007d-144"><code>rv GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-regular-expressions-192">regular expressions</a>: <a href="#Regular-Expressions">Regular Expressions</a></li> +<li><a href="#index-return-status-177">return status</a>: <a href="#Exit-Status">Exit Status</a></li> +<li><a href="#index-rv-GREP_005fCOLORS-_0040r_007bcapability_007d-148"><code>rv GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> <li><a href="#index-searching-directory-trees-107">searching directory trees</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-searching-for-a-pattern-1">searching for a pattern</a>: <a href="#Introduction">Introduction</a></li> -<li><a href="#index-sl-GREP_005fCOLORS-_0040r_007bcapability_007d-142"><code>sl GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-space-_0040r_007bcharacter-class_007d-236"><code>space </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-space-characters-237">space characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-subexpression-246">subexpression</a>: <a href="#Back_002dreferences-and-Subexpressions">Back-references and Subexpressions</a></li> +<li><a href="#index-sl-GREP_005fCOLORS-_0040r_007bcapability_007d-146"><code>sl GREP_COLORS </code><span class="roman">capability</span></a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-space-_0040r_007bcharacter-class_007d-241"><code>space </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-space-characters-242">space characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-subexpression-251">subexpression</a>: <a href="#Back_002dreferences-and-Subexpressions">Back-references and Subexpressions</a></li> <li><a href="#index-suppress-binary-data-94">suppress binary data</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-suppress-error-messages-51">suppress error messages</a>: <a href="#General-Output-Control">General Output Control</a></li> <li><a href="#index-symbolic-links-104">symbolic links</a>: <a href="#File-and-Directory-Selection">File and Directory Selection</a></li> <li><a href="#index-tab_002daligned-content-lines-68">tab-aligned content lines</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> -<li><a href="#index-translation-of-message-language-168">translation of message language</a>: <a href="#Environment-Variables">Environment Variables</a></li> -<li><a href="#index-upper-_0040r_007bcharacter-class_007d-239"><code>upper </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-upper_002dcase-letters-240">upper-case letters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-translation-of-message-language-173">translation of message language</a>: <a href="#Environment-Variables">Environment Variables</a></li> +<li><a href="#index-upper-_0040r_007bcharacter-class_007d-244"><code>upper </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-upper_002dcase-letters-245">upper-case letters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-usage-summary_002c-printing-3">usage summary, printing</a>: <a href="#Generic-Program-Information">Generic Program Information</a></li> -<li><a href="#index-usage_002c-examples-250">usage, examples</a>: <a href="#Usage">Usage</a></li> -<li><a href="#index-using-_0040command_007bgrep_007d_002c-Q_0026A-251">using <samp><span class="command">grep</span></samp>, Q&A</a>: <a href="#Usage">Usage</a></li> -<li><a href="#index-variants-of-_0040command_007bgrep_007d-174">variants of <samp><span class="command">grep</span></samp></a>: <a href="#grep-Programs">grep Programs</a></li> +<li><a href="#index-usage_002c-examples-255">usage, examples</a>: <a href="#Usage">Usage</a></li> +<li><a href="#index-using-_0040command_007bgrep_007d_002c-Q_0026A-256">using <samp><span class="command">grep</span></samp>, Q&A</a>: <a href="#Usage">Usage</a></li> +<li><a href="#index-variants-of-_0040command_007bgrep_007d-179">variants of <samp><span class="command">grep</span></samp></a>: <a href="#grep-Programs">grep Programs</a></li> <li><a href="#index-version_002c-printing-6">version, printing</a>: <a href="#Generic-Program-Information">Generic Program Information</a></li> -<li><a href="#index-whitespace-characters-238">whitespace characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-whitespace-characters-243">whitespace characters</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-with-filename-prefix-57">with filename prefix</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> -<li><a href="#index-xdigit-_0040r_007bcharacter-class_007d-241"><code>xdigit </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> -<li><a href="#index-xdigit-class-242">xdigit class</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-xdigit-_0040r_007bcharacter-class_007d-246"><code>xdigit </code><span class="roman">character class</span></a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> +<li><a href="#index-xdigit-class-247">xdigit class</a>: <a href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket Expressions</a></li> <li><a href="#index-zero_002dterminated-file-names-75">zero-terminated file names</a>: <a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li> <li><a href="#index-zero_002dterminated-lines-134">zero-terminated lines</a>: <a href="#Other-Options">Other Options</a></li> -<li><a href="#index-g_t_0040_007b_002c_0040var_007bm_007d_0040_007d-206"><code>{,</code><var>m</var><code>}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-g_t_0040_007b_0040var_007bn_007d_002c_0040var_007bm_007d_0040_007d-209"><code>{</code><var>n</var><code>,</code><var>m</var><code>}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-g_t_0040_007b_0040var_007bn_007d_002c_0040_007d-203"><code>{</code><var>n</var><code>,}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> -<li><a href="#index-g_t_0040_007b_0040var_007bn_007d_0040_007d-200"><code>{</code><var>n</var><code>}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_0040_007b_002c_0040var_007bm_007d_0040_007d-211"><code>{,</code><var>m</var><code>}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_0040_007b_0040var_007bn_007d_002c_0040var_007bm_007d_0040_007d-214"><code>{</code><var>n</var><code>,</code><var>m</var><code>}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_0040_007b_0040var_007bn_007d_002c_0040_007d-208"><code>{</code><var>n</var><code>,}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> +<li><a href="#index-g_t_0040_007b_0040var_007bn_007d_0040_007d-205"><code>{</code><var>n</var><code>}</code></a>: <a href="#Fundamental-Structure">Fundamental Structure</a></li> </ul><div class="footnote"> <hr> <a name="texinfo-footnotes-in-document"></a><h4>Footnotes</h4><p class="footnote"><small>[<a name="fn-1" href="#fnd-1">1</a>]</small> Of course, 7th Edition
