[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Changes to grep/manual/grep.html,v
From: |
Jim Meyering |
Subject: |
Changes to grep/manual/grep.html,v |
Date: |
Fri, 05 Feb 2016 00:44:54 +0000 |
CVSROOT: /webcvs/grep
Module name: grep
Changes by: Jim Meyering <meyering> 16/02/05 00:44:53
Index: grep.html
===================================================================
RCS file: /webcvs/grep/grep/manual/grep.html,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- grep.html 2 Nov 2015 02:54:28 -0000 1.21
+++ grep.html 5 Feb 2016 00:44:49 -0000 1.22
@@ -1,191 +1,233 @@
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This manual is for grep, a pattern matching engine.
+
+Copyright (C) 1999-2002, 2005, 2008-2016 Free Software Foundation,
+Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled
+"GNU Free Documentation License". -->
+<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>GNU Grep 2.22</title>
+<title>GNU Grep 2.23</title>
+
+<meta name="description" content="GNU Grep 2.23">
+<meta name="keywords" content="GNU Grep 2.23">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="description" content="GNU Grep 2.22">
-<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">
+<link href="#Top" rel="start" title="Top">
+<link href="#Index" rel="index" title="Index">
+<link href="#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="dir.html#Top" rel="up" title="(dir)">
+<style type="text/css">
<!--
-This manual is for `grep', a pattern matching engine.
+a.summary-letter {text-decoration: none}
+blockquote.indentedblock {margin-right: 0em}
+blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style: oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space: nowrap}
+span.nolinebreak {white-space: nowrap}
+span.roman {font-family: serif; font-weight: normal}
+span.sansserif {font-family: sans-serif; font-weight: normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+<link rel="stylesheet" type="text/css" href="/software/gnulib/manual.css">
-Copyright (C) 1999-2002, 2005, 2008-2015 Free Software Foundation,
-Inc.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.3 or any later version published by the Free Software
- Foundation; with no Invariant Sections, with no Front-Cover Texts,
- and with no Back-Cover Texts. A copy of the license is included
- in the section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
-<link rel="stylesheet" type="text/css" href="/software/gnulib/manual.css">
</head>
-<body>
-<h1 class="settitle">GNU Grep 2.22</h1>
- <div class="contents">
-<h2>Table of Contents</h2>
-<ul>
-<li><a name="toc_Top" href="#Top">grep</a>
-<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a>
-<li><a name="toc_Invoking" href="#Invoking">2 Invoking <samp><span
class="command">grep</span></samp></a>
-<ul>
-<li><a href="#Command_002dline-Options">2.1 Command-line Options</a>
-<ul>
-<li><a href="#Generic-Program-Information">2.1.1 Generic Program
Information</a>
-<li><a href="#Matching-Control">2.1.2 Matching Control</a>
-<li><a href="#General-Output-Control">2.1.3 General Output Control</a>
-<li><a href="#Output-Line-Prefix-Control">2.1.4 Output Line Prefix Control</a>
-<li><a href="#Context-Line-Control">2.1.5 Context Line Control</a>
-<li><a href="#File-and-Directory-Selection">2.1.6 File and Directory
Selection</a>
-<li><a href="#Other-Options">2.1.7 Other Options</a>
-</li></ul>
-<li><a href="#Environment-Variables">2.2 Environment Variables</a>
-<li><a href="#Exit-Status">2.3 Exit Status</a>
-<li><a href="#grep-Programs">2.4 <samp><span
class="command">grep</span></samp> Programs</a>
-</li></ul>
-<li><a name="toc_Regular-Expressions" href="#Regular-Expressions">3 Regular
Expressions</a>
-<ul>
-<li><a href="#Fundamental-Structure">3.1 Fundamental Structure</a>
-<li><a href="#Character-Classes-and-Bracket-Expressions">3.2 Character Classes
and Bracket Expressions</a>
-<li><a href="#The-Backslash-Character-and-Special-Expressions">3.3 The
Backslash Character and Special Expressions</a>
-<li><a href="#Anchoring">3.4 Anchoring</a>
-<li><a href="#Back_002dreferences-and-Subexpressions">3.5 Back-references and
Subexpressions</a>
-<li><a href="#Basic-vs-Extended">3.6 Basic vs Extended Regular Expressions</a>
-</li></ul>
-<li><a name="toc_Usage" href="#Usage">4 Usage</a>
-<li><a name="toc_Reporting-Bugs" href="#Reporting-Bugs">5 Reporting bugs</a>
-<ul>
-<li><a href="#Reporting-Bugs">5.1 Known Bugs</a>
-</li></ul>
-<li><a name="toc_Copying" href="#Copying">6 Copying</a>
-<ul>
-<li><a href="#GNU-Free-Documentation-License">6.1 GNU Free Documentation
License</a>
-</li></ul>
-<li><a name="toc_Index" href="#Index">Index</a>
-</li></ul>
-</div>
+<body lang="en">
+<h1 class="settitle" align="center">GNU Grep 2.23</h1>
-<div class="node">
-<a name="Top"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Introduction">Introduction</a>,
-Up: <a rel="up" accesskey="u" href="#dir">(dir)</a>
-</div>
-<h2 class="unnumbered">grep</h2>
-<p><samp><span class="command">grep</span></samp> prints lines that contain a
match for a pattern.
- <p>This manual is for version 2.22 of GNU Grep.
+<a name="SEC_Contents"></a>
+<h2 class="contents-heading">Table of Contents</h2>
+
+<div class="contents">
+
+<ul class="no-bullet">
+ <li><a name="toc-Introduction-1" href="#Introduction">1 Introduction</a></li>
+ <li><a name="toc-Invoking-grep" href="#Invoking">2 Invoking
<code>grep</code></a>
+ <ul class="no-bullet">
+ <li><a name="toc-Command_002dline-Options-1"
href="#Command_002dline-Options">2.1 Command-line Options</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Generic-Program-Information-1"
href="#Generic-Program-Information">2.1.1 Generic Program Information</a></li>
+ <li><a name="toc-Matching-Control-1" href="#Matching-Control">2.1.2
Matching Control</a></li>
+ <li><a name="toc-General-Output-Control-1"
href="#General-Output-Control">2.1.3 General Output Control</a></li>
+ <li><a name="toc-Output-Line-Prefix-Control-1"
href="#Output-Line-Prefix-Control">2.1.4 Output Line Prefix Control</a></li>
+ <li><a name="toc-Context-Line-Control-1"
href="#Context-Line-Control">2.1.5 Context Line Control</a></li>
+ <li><a name="toc-File-and-Directory-Selection-1"
href="#File-and-Directory-Selection">2.1.6 File and Directory Selection</a></li>
+ <li><a name="toc-Other-Options-1" href="#Other-Options">2.1.7 Other
Options</a></li>
+ </ul></li>
+ <li><a name="toc-Environment-Variables-1"
href="#Environment-Variables">2.2 Environment Variables</a></li>
+ <li><a name="toc-Exit-Status-1" href="#Exit-Status">2.3 Exit
Status</a></li>
+ <li><a name="toc-grep-Programs-1" href="#grep-Programs">2.4
<code>grep</code> Programs</a></li>
+ </ul></li>
+ <li><a name="toc-Regular-Expressions-1" href="#Regular-Expressions">3
Regular Expressions</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Fundamental-Structure-1"
href="#Fundamental-Structure">3.1 Fundamental Structure</a></li>
+ <li><a name="toc-Character-Classes-and-Bracket-Expressions-1"
href="#Character-Classes-and-Bracket-Expressions">3.2 Character Classes and
Bracket Expressions</a></li>
+ <li><a name="toc-The-Backslash-Character-and-Special-Expressions-1"
href="#The-Backslash-Character-and-Special-Expressions">3.3 The Backslash
Character and Special Expressions</a></li>
+ <li><a name="toc-Anchoring-1" href="#Anchoring">3.4 Anchoring</a></li>
+ <li><a name="toc-Back_002dreferences-and-Subexpressions-1"
href="#Back_002dreferences-and-Subexpressions">3.5 Back-references and
Subexpressions</a></li>
+ <li><a name="toc-Basic-vs-Extended-Regular-Expressions"
href="#Basic-vs-Extended">3.6 Basic vs Extended Regular Expressions</a></li>
+ </ul></li>
+ <li><a name="toc-Usage-1" href="#Usage">4 Usage</a></li>
+ <li><a name="toc-Reporting-bugs" href="#Reporting-Bugs">5 Reporting bugs</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Known-Bugs" href="#Known-Bugs">5.1 Known Bugs</a></li>
+ </ul></li>
+ <li><a name="toc-Copying-1" href="#Copying">6 Copying</a>
+ <ul class="no-bullet">
+ <li><a name="toc-GNU-Free-Documentation-License-1"
href="#GNU-Free-Documentation-License">6.1 GNU Free Documentation
License</a></li>
+ </ul></li>
+ <li><a name="toc-Index-1" href="#Index">Index</a></li>
+</ul>
+</div>
- <p>This manual is for <samp><span class="command">grep</span></samp>, a
pattern matching engine.
- <p>Copyright © 1999-2002, 2005, 2008-2015 Free Software Foundation,
-Inc.
- <blockquote>
-Permission is granted to copy, distribute and/or modify this document
+<a name="Top"></a>
+<div class="header">
+<p>
+Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up:
<a href="dir.html#Top" accesskey="u" rel="up">(dir)</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="grep"></a>
+<h1 class="top">grep</h1>
+
+<p><code>grep</code> prints lines that contain a match for a pattern.
+</p>
+<p>This manual is for version 2.23 of GNU Grep.
+</p>
+<p>This manual is for <code>grep</code>, a pattern matching engine.
+</p>
+<p>Copyright © 1999-2002, 2005, 2008-2016 Free Software Foundation,
+Inc.
+</p>
+<blockquote>
+<p>Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
“GNU Free Documentation License”.
-</blockquote>
+</p></blockquote>
-<ul class="menu">
-<li><a accesskey="1" href="#Introduction">Introduction</a>:
Introduction.
-<li><a accesskey="2" href="#Invoking">Invoking</a>:
Command-line options, environment, exit status.
-<li><a accesskey="3" href="#Regular-Expressions">Regular Expressions</a>:
Regular Expressions.
-<li><a accesskey="4" href="#Usage">Usage</a>: Examples.
-<li><a accesskey="5" href="#Reporting-Bugs">Reporting Bugs</a>:
Reporting Bugs.
-<li><a accesskey="6" href="#Copying">Copying</a>: License
terms for this manual.
-<li><a accesskey="7" href="#Index">Index</a>: Combined
index.
-</ul>
-<div class="node">
-<a name="Introduction"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Invoking">Invoking</a>,
-Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>,
-Up: <a rel="up" accesskey="u" href="#Top">Top</a>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Introduction"
accesskey="1">Introduction</a>:</td><td> </td><td align="left"
valign="top">Introduction.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Invoking"
accesskey="2">Invoking</a>:</td><td> </td><td align="left"
valign="top">Command-line options, environment, exit status.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Regular-Expressions"
accesskey="3">Regular Expressions</a>:</td><td> </td><td
align="left" valign="top">Regular Expressions.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Usage"
accesskey="4">Usage</a>:</td><td> </td><td align="left"
valign="top">Examples.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Reporting-Bugs"
accesskey="5">Reporting Bugs</a>:</td><td> </td><td align="left"
valign="top">Reporting Bugs.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Copying"
accesskey="6">Copying</a>:</td><td> </td><td align="left"
valign="top">License terms for this manual.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Index"
accesskey="7">Index</a>:</td><td> </td><td align="left"
valign="top">Combined index.
+</td></tr>
+</table>
-</div>
+<hr>
+<a name="Introduction"></a>
+<div class="header">
+<p>
+Next: <a href="#Invoking" accesskey="n" rel="next">Invoking</a>, Previous: <a
href="#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="#Top" accesskey="u"
rel="up">Top</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Introduction-1"></a>
<h2 class="chapter">1 Introduction</h2>
-<p><a name="index-searching-for-a-pattern-1"></a>
-<samp><span class="command">grep</span></samp> searches input files
+<a name="index-searching-for-a-pattern"></a>
+
+<p><code>grep</code> searches input files
for lines containing a match to a given pattern list.
When it finds a match in a line,
it copies the line to standard output (by default),
or produces whatever other sort of output you have requested with options.
-
- <p>Though <samp><span class="command">grep</span></samp> expects to do the
matching on text,
+</p>
+<p>Though <code>grep</code> expects to do the matching on text,
it has no limits on input line length other than available memory,
and it can match arbitrary characters within a line.
If the final byte of an input file is not a newline,
-<samp><span class="command">grep</span></samp> silently supplies one.
+<code>grep</code> silently supplies one.
Since newline is also a separator for the list of patterns,
there is no way to match newline characters in a text.
+</p>
-<div class="node">
+<hr>
<a name="Invoking"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Regular-Expressions">Regular
Expressions</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Introduction">Introduction</a>,
-Up: <a rel="up" accesskey="u" href="#Top">Top</a>
-
-</div>
+<div class="header">
+<p>
+Next: <a href="#Regular-Expressions" accesskey="n" rel="next">Regular
Expressions</a>, Previous: <a href="#Introduction" accesskey="p"
rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
+</div>
+<a name="Invoking-grep"></a>
+<h2 class="chapter">2 Invoking <code>grep</code></h2>
+
+<p>The general synopsis of the <code>grep</code> command line is
+</p>
+<div class="example">
+<pre class="example">grep <var>options</var> <var>pattern</var>
<var>input_file_names</var>
+</pre></div>
-<h2 class="chapter">2 Invoking <samp><span
class="command">grep</span></samp></h2>
-
-<p>The general synopsis of the <samp><span class="command">grep</span></samp>
command line is
-
-<pre class="example"> grep <var>options</var> <var>pattern</var>
<var>input_file_names</var>
-</pre>
- <p class="noindent">There can be zero or more <var>options</var>.
+<p>There can be zero or more <var>options</var>.
<var>pattern</var> will only be seen as such
(and not as an <var>input_file_name</var>)
-if it wasn't already specified within <var>options</var>
-(by using the ‘<samp><span class="samp">-e
</span><var>pattern</var></samp>’
-or ‘<samp><span class="samp">-f </span><var>file</var></samp>’
options).
+if it wasn’t already specified within <var>options</var>
+(by using the ‘<samp>-e <var>pattern</var></samp>’
+or ‘<samp>-f <var>file</var></samp>’ options).
There can be zero or more <var>input_file_names</var>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Command_002dline-Options"
accesskey="1">Command-line Options</a>:</td><td> </td><td
align="left" valign="top">Short and long names, grouped by category.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Environment-Variables"
accesskey="2">Environment Variables</a>:</td><td> </td><td
align="left" valign="top">POSIX, GNU generic, and GNU grep specific.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Exit-Status"
accesskey="3">Exit Status</a>:</td><td> </td><td align="left"
valign="top">Exit status returned by <code>grep</code>.
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#grep-Programs"
accesskey="4">grep Programs</a>:</td><td> </td><td align="left"
valign="top"><code>grep</code> programs.
+</td></tr>
+</table>
-<ul class="menu">
-<li><a accesskey="1" href="#Command_002dline-Options">Command-line
Options</a>: Short and long names, grouped by category.
-<li><a accesskey="2" href="#Environment-Variables">Environment Variables</a>:
POSIX, GNU generic, and GNU grep specific.
-<li><a accesskey="3" href="#Exit-Status">Exit Status</a>:
Exit status returned by <samp><span class="command">grep</span></samp>.
-<li><a accesskey="4" href="#grep-Programs">grep Programs</a>:
<samp><span class="command">grep</span></samp> programs.
-</ul>
-
-<div class="node">
-<a name="Command-line-Options"></a>
+<hr>
<a name="Command_002dline-Options"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n"
href="#Environment-Variables">Environment Variables</a>,
-Up: <a rel="up" accesskey="u" href="#Invoking">Invoking</a>
-
+<div class="header">
+<p>
+Next: <a href="#Environment-Variables" accesskey="n" rel="next">Environment
Variables</a>, Up: <a href="#Invoking" accesskey="u" rel="up">Invoking</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Command_002dline-Options-1"></a>
<h3 class="section">2.1 Command-line Options</h3>
-<p><samp><span class="command">grep</span></samp> comes with a rich set of
options:
+<p><code>grep</code> comes with a rich set of options:
some from POSIX and some being GNU extensions.
Long option names are always a GNU extension,
even for options that are from POSIX specifications.
@@ -195,62 +237,95 @@
to facilitate POSIX-portable programming.
A few option names are provided
for compatibility with older or more exotic implementations.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a
href="#Generic-Program-Information" accesskey="1">Generic Program
Information</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Matching-Control"
accesskey="2">Matching Control</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#General-Output-Control"
accesskey="3">General Output Control</a>:</td><td> </td><td
align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Output-Line-Prefix-Control"
accesskey="4">Output Line Prefix Control</a>:</td><td> </td><td
align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Context-Line-Control"
accesskey="5">Context Line Control</a>:</td><td> </td><td
align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#File-and-Directory-Selection" accesskey="6">File and Directory
Selection</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Other-Options"
accesskey="7">Other Options</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+</table>
-<ul class="menu">
-<li><a accesskey="1" href="#Generic-Program-Information">Generic Program
Information</a>
-<li><a accesskey="2" href="#Matching-Control">Matching Control</a>
-<li><a accesskey="3" href="#General-Output-Control">General Output Control</a>
-<li><a accesskey="4" href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a>
-<li><a accesskey="5" href="#Context-Line-Control">Context Line Control</a>
-<li><a accesskey="6" href="#File-and-Directory-Selection">File and Directory
Selection</a>
-<li><a accesskey="7" href="#Other-Options">Other Options</a>
-</ul>
-
- <p>Several additional options control
-which variant of the <samp><span class="command">grep</span></samp> matching
engine is used.
+<p>Several additional options control
+which variant of the <code>grep</code> matching engine is used.
See <a href="#grep-Programs">grep Programs</a>.
-
-<div class="node">
+</p>
+<hr>
<a name="Generic-Program-Information"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Matching-Control">Matching
Control</a>,
-Up: <a rel="up" accesskey="u"
href="#Command_002dline-Options">Command-line Options</a>
-
+<div class="header">
+<p>
+Next: <a href="#Matching-Control" accesskey="n" rel="next">Matching
Control</a>, Up: <a href="#Command_002dline-Options" accesskey="u"
rel="up">Command-line Options</a> [<a href="#SEC_Contents" title="Table
of contents" rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Generic-Program-Information-1"></a>
<h4 class="subsection">2.1.1 Generic Program Information</h4>
- <dl>
-<dt><samp><span class="option">--help</span></samp><dd><a
name="index-g_t_002d_002dhelp-2"></a><a
name="index-usage-summary_002c-printing-3"></a>Print a usage message briefly
summarizing the command-line options
+<dl compact="compact">
+<dt><samp>--help</samp></dt>
+<dd><a name="index-_002d_002dhelp"></a>
+<a name="index-usage-summary_002c-printing"></a>
+<p>Print a usage message briefly summarizing the command-line options
and the bug-reporting address, then exit.
-
- <br><dt><samp><span class="option">-V</span></samp><dt><samp><span
class="option">--version</span></samp><dd><a name="index-g_t_002dV-4"></a><a
name="index-g_t_002d_002dversion-5"></a><a
name="index-version_002c-printing-6"></a>Print the version number of
<samp><span class="command">grep</span></samp> to the standard output stream.
+</p>
+</dd>
+<dt><samp>-V</samp></dt>
+<dt><samp>--version</samp></dt>
+<dd><a name="index-_002dV"></a>
+<a name="index-_002d_002dversion"></a>
+<a name="index-version_002c-printing"></a>
+<p>Print the version number of <code>grep</code> to the standard output stream.
This version number should be included in all bug reports.
-
+</p>
+</dd>
</dl>
-<div class="node">
+<hr>
<a name="Matching-Control"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#General-Output-Control">General
Output Control</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Generic-Program-Information">Generic Program Information</a>,
-Up: <a rel="up" accesskey="u"
href="#Command_002dline-Options">Command-line Options</a>
-
+<div class="header">
+<p>
+Next: <a href="#General-Output-Control" accesskey="n" rel="next">General
Output Control</a>, Previous: <a href="#Generic-Program-Information"
accesskey="p" rel="prev">Generic Program Information</a>, Up: <a
href="#Command_002dline-Options" accesskey="u" rel="up">Command-line
Options</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Matching-Control-1"></a>
<h4 class="subsection">2.1.2 Matching Control</h4>
- <dl>
-<dt><samp><span class="option">-e
</span><var>pattern</var></samp><dt><samp><span
class="option">--regexp=</span><var>pattern</var></samp><dd><a
name="index-g_t_002de-7"></a><a
name="index-g_t_002d_002dregexp_003d_0040var_007bpattern_007d-8"></a><a
name="index-pattern-list-9"></a>Use <var>pattern</var> as the pattern.
+<dl compact="compact">
+<dt><samp>-e <var>pattern</var></samp></dt>
+<dt><samp>--regexp=<var>pattern</var></samp></dt>
+<dd><a name="index-_002de"></a>
+<a name="index-_002d_002dregexp_003dpattern"></a>
+<a name="index-pattern-list"></a>
+<p>Use <var>pattern</var> as the pattern.
This can be used to specify multiple search patterns,
-or to protect a pattern beginning with a ‘<samp><span
class="samp">-</span></samp>’.
-(<samp><span class="option">-e</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">-f
</span><var>file</var></samp><dt><samp><span
class="option">--file=</span><var>file</var></samp><dd><a
name="index-g_t_002df-10"></a><a name="index-g_t_002d_002dfile-11"></a><a
name="index-pattern-from-file-12"></a>Obtain patterns from <var>file</var>, one
per line.
+or to protect a pattern beginning with a ‘<samp>-</samp>’.
+(<samp>-e</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-f <var>file</var></samp></dt>
+<dt><samp>--file=<var>file</var></samp></dt>
+<dd><a name="index-_002df"></a>
+<a name="index-_002d_002dfile"></a>
+<a name="index-pattern-from-file"></a>
+<p>Obtain patterns from <var>file</var>, one per line.
The empty file contains zero patterns, and therefore matches nothing.
-(<samp><span class="option">-f</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">-i</span></samp><dt><samp><span
class="option">-y</span></samp><dt><samp><span
class="option">--ignore-case</span></samp><dd><a
name="index-g_t_002di-13"></a><a name="index-g_t_002dy-14"></a><a
name="index-g_t_002d_002dignore_002dcase-15"></a><a
name="index-case-insensitive-search-16"></a>Ignore case distinctions, so that
characters that differ only in case
+(<samp>-f</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-i</samp></dt>
+<dt><samp>-y</samp></dt>
+<dt><samp>--ignore-case</samp></dt>
+<dd><a name="index-_002di"></a>
+<a name="index-_002dy"></a>
+<a name="index-_002d_002dignore_002dcase"></a>
+<a name="index-case-insensitive-search"></a>
+<p>Ignore case distinctions, so that characters that differ only in case
match each other. Although this is straightforward when letters
differ in case only via lowercase-uppercase pairs, the behavior is
unspecified in other situations. For example, uppercase “S” has an
@@ -262,14 +337,27 @@
two-character string “SS” but it does not match “SS”,
and it might
not match the uppercase letter “Ẕ (U+1E9E, LATIN CAPITAL LETTER
SHARP S) even though lowercasing the latter yields the former.
-
- <p><samp><span class="option">-y</span></samp> is an obsolete synonym
that is provided for compatibility.
-(<samp><span class="option">-i</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">-v</span></samp><dt><samp><span
class="option">--invert-match</span></samp><dd><a
name="index-g_t_002dv-17"></a><a
name="index-g_t_002d_002dinvert_002dmatch-18"></a><a
name="index-invert-matching-19"></a><a
name="index-print-non_002dmatching-lines-20"></a>Invert the sense of matching,
to select non-matching lines.
-(<samp><span class="option">-v</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">-w</span></samp><dt><samp><span
class="option">--word-regexp</span></samp><dd><a
name="index-g_t_002dw-21"></a><a
name="index-g_t_002d_002dword_002dregexp-22"></a><a
name="index-matching-whole-words-23"></a>Select only those lines containing
matches that form whole words.
+</p>
+<p><samp>-y</samp> is an obsolete synonym that is provided for compatibility.
+(<samp>-i</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-v</samp></dt>
+<dt><samp>--invert-match</samp></dt>
+<dd><a name="index-_002dv"></a>
+<a name="index-_002d_002dinvert_002dmatch"></a>
+<a name="index-invert-matching"></a>
+<a name="index-print-non_002dmatching-lines"></a>
+<p>Invert the sense of matching, to select non-matching lines.
+(<samp>-v</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-w</samp></dt>
+<dt><samp>--word-regexp</samp></dt>
+<dd><a name="index-_002dw"></a>
+<a name="index-_002d_002dword_002dregexp"></a>
+<a name="index-matching-whole-words"></a>
+<p>Select only those lines containing matches that form whole words.
The test is that the matching substring must either
be at the beginning of the line,
or preceded by a non-word constituent character.
@@ -277,415 +365,632 @@
it must be either at the end of the line
or followed by a non-word constituent character.
Word-constituent characters are letters, digits, and the underscore.
-
- <br><dt><samp><span class="option">-x</span></samp><dt><samp><span
class="option">--line-regexp</span></samp><dd><a
name="index-g_t_002dx-24"></a><a
name="index-g_t_002d_002dline_002dregexp-25"></a><a
name="index-match-the-whole-line-26"></a>Select only those matches that exactly
match the whole line.
-(<samp><span class="option">-x</span></samp> is specified by POSIX.)
-
+This option has no effect if <samp>-x</samp> is also specified.
+</p>
+</dd>
+<dt><samp>-x</samp></dt>
+<dt><samp>--line-regexp</samp></dt>
+<dd><a name="index-_002dx"></a>
+<a name="index-_002d_002dline_002dregexp"></a>
+<a name="index-match-the-whole-line"></a>
+<p>Select only those matches that exactly match the whole line.
+For a regular expression pattern, this is like parenthesizing the
+pattern and then surrounding it with ‘<samp>^</samp>’ and
‘<samp>$</samp>’.
+(<samp>-x</samp> is specified by POSIX.)
+</p>
+</dd>
</dl>
-<div class="node">
+<hr>
<a name="General-Output-Control"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n"
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Matching-Control">Matching Control</a>,
-Up: <a rel="up" accesskey="u"
href="#Command_002dline-Options">Command-line Options</a>
-
+<div class="header">
+<p>
+Next: <a href="#Output-Line-Prefix-Control" accesskey="n" rel="next">Output
Line Prefix Control</a>, Previous: <a href="#Matching-Control" accesskey="p"
rel="prev">Matching Control</a>, Up: <a href="#Command_002dline-Options"
accesskey="u" rel="up">Command-line Options</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Index"
title="Index" rel="index">Index</a>]</p>
</div>
-
+<a name="General-Output-Control-1"></a>
<h4 class="subsection">2.1.3 General Output Control</h4>
- <dl>
-<dt><samp><span class="option">-c</span></samp><dt><samp><span
class="option">--count</span></samp><dd><a name="index-g_t_002dc-27"></a><a
name="index-g_t_002d_002dcount-28"></a><a
name="index-counting-lines-29"></a>Suppress normal output;
+<dl compact="compact">
+<dt><samp>-c</samp></dt>
+<dt><samp>--count</samp></dt>
+<dd><a name="index-_002dc"></a>
+<a name="index-_002d_002dcount"></a>
+<a name="index-counting-lines"></a>
+<p>Suppress normal output;
instead print a count of matching lines for each input file.
-With the <samp><span class="option">-v</span></samp> (<samp><span
class="option">--invert-match</span></samp>) option,
+With the <samp>-v</samp> (<samp>--invert-match</samp>) option,
count non-matching lines.
-(<samp><span class="option">-c</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">--color[=</span><var>WHEN</var><span
class="option">]</span></samp><dt><samp><span
class="option">--colour[=</span><var>WHEN</var><span
class="option">]</span></samp><dd><a name="index-g_t_002d_002dcolor-30"></a><a
name="index-g_t_002d_002dcolour-31"></a><a
name="index-highlight_002c-color_002c-colour-32"></a>Surround the matched
(non-empty) strings, matching lines, context lines,
+(<samp>-c</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>--color[=<var>WHEN</var>]</samp></dt>
+<dt><samp>--colour[=<var>WHEN</var>]</samp></dt>
+<dd><a name="index-_002d_002dcolor"></a>
+<a name="index-_002d_002dcolour"></a>
+<a name="index-highlight_002c-color_002c-colour"></a>
+<p>Surround the matched (non-empty) strings, matching lines, context lines,
file names, line numbers, byte offsets, and separators (for fields and
groups of context lines) with escape sequences to display them in color
on the terminal.
-The colors are defined by the environment variable <samp><span
class="env">GREP_COLORS</span></samp>
-and default to ‘<samp><span
class="samp">ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36</span></samp>’
+The colors are defined by the environment variable <code>GREP_COLORS</code>
+and default to
‘<samp>ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36</samp>’
for bold red matched text, magenta file names, green line numbers,
green byte offsets, cyan separators, and default terminal colors otherwise.
-The deprecated environment variable <samp><span
class="env">GREP_COLOR</span></samp> is still supported,
+The deprecated environment variable <code>GREP_COLOR</code> is still supported,
but its setting does not have priority;
-it defaults to ‘<samp><span class="samp">01;31</span></samp>’
(bold red)
+it defaults to ‘<samp>01;31</samp>’ (bold red)
which only covers the color for matched text.
-<var>WHEN</var> is ‘<samp><span class="samp">never</span></samp>’,
‘<samp><span class="samp">always</span></samp>’, or
‘<samp><span class="samp">auto</span></samp>’.
-
- <br><dt><samp><span class="option">-L</span></samp><dt><samp><span
class="option">--files-without-match</span></samp><dd><a
name="index-g_t_002dL-33"></a><a
name="index-g_t_002d_002dfiles_002dwithout_002dmatch-34"></a><a
name="index-files-which-don_0027t-match-35"></a>Suppress normal output;
+<var>WHEN</var> is ‘<samp>never</samp>’,
‘<samp>always</samp>’, or ‘<samp>auto</samp>’.
+</p>
+</dd>
+<dt><samp>-L</samp></dt>
+<dt><samp>--files-without-match</samp></dt>
+<dd><a name="index-_002dL"></a>
+<a name="index-_002d_002dfiles_002dwithout_002dmatch"></a>
+<a name="index-files-which-don_0027t-match"></a>
+<p>Suppress normal output;
instead print the name of each input file from which
no output would normally have been printed.
The scanning of each file stops on the first match.
-
- <br><dt><samp><span class="option">-l</span></samp><dt><samp><span
class="option">--files-with-matches</span></samp><dd><a
name="index-g_t_002dl-36"></a><a
name="index-g_t_002d_002dfiles_002dwith_002dmatches-37"></a><a
name="index-names-of-matching-files-38"></a>Suppress normal output;
+</p>
+</dd>
+<dt><samp>-l</samp></dt>
+<dt><samp>--files-with-matches</samp></dt>
+<dd><a name="index-_002dl"></a>
+<a name="index-_002d_002dfiles_002dwith_002dmatches"></a>
+<a name="index-names-of-matching-files"></a>
+<p>Suppress normal output;
instead print the name of each input file from which
output would normally have been printed.
The scanning of each file stops on the first match.
-(<samp><span class="option">-l</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">-m
</span><var>num</var></samp><dt><samp><span
class="option">--max-count=</span><var>num</var></samp><dd><a
name="index-g_t_002dm-39"></a><a
name="index-g_t_002d_002dmax_002dcount-40"></a><a
name="index-max_002dcount-41"></a>Stop reading a file after <var>num</var>
matching lines.
+(<samp>-l</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-m <var>num</var></samp></dt>
+<dt><samp>--max-count=<var>num</var></samp></dt>
+<dd><a name="index-_002dm"></a>
+<a name="index-_002d_002dmax_002dcount"></a>
+<a name="index-max_002dcount"></a>
+<p>Stop reading a file after <var>num</var> matching lines.
If the input is standard input from a regular file,
and <var>num</var> matching lines are output,
-<samp><span class="command">grep</span></samp> ensures that the standard input
is positioned
+<code>grep</code> ensures that the standard input is positioned
just after the last matching line before exiting,
regardless of the presence of trailing context lines.
This enables a calling process to resume a search.
For example, the following shell script makes use of it:
-
- <pre class="example"> while grep -m 1 PATTERN
- do
+</p>
+<div class="example">
+<pre class="example">while grep -m 1 PATTERN
+do
echo xxxx
- done < FILE
-</pre>
- <p>But the following probably will not work because a pipe is not a
regular
-file:
+done < FILE
+</pre></div>
- <pre class="example"> # This probably will not work.
- cat FILE |
- while grep -m 1 PATTERN
- do
+<p>But the following probably will not work because a pipe is not a regular
+file:
+</p>
+<div class="example">
+<pre class="example"># This probably will not work.
+cat FILE |
+while grep -m 1 PATTERN
+do
echo xxxx
- done
-</pre>
- <p>When <samp><span class="command">grep</span></samp> stops after
<var>num</var> matching lines,
+done
+</pre></div>
+
+<p>When <code>grep</code> stops after <var>num</var> matching lines,
it outputs any trailing context lines.
Since context does not include matching lines,
-<samp><span class="command">grep</span></samp> will stop when it encounters
another matching line.
-When the <samp><span class="option">-c</span></samp> or <samp><span
class="option">--count</span></samp> option is also used,
-<samp><span class="command">grep</span></samp> does not output a count greater
than <var>num</var>.
-When the <samp><span class="option">-v</span></samp> or <samp><span
class="option">--invert-match</span></samp> option is also used,
-<samp><span class="command">grep</span></samp> stops after outputting
<var>num</var> non-matching lines.
-
- <br><dt><samp><span class="option">-o</span></samp><dt><samp><span
class="option">--only-matching</span></samp><dd><a
name="index-g_t_002do-42"></a><a
name="index-g_t_002d_002donly_002dmatching-43"></a><a
name="index-only-matching-44"></a>Print only the matched (non-empty) parts of
matching lines,
+<code>grep</code> will stop when it encounters another matching line.
+When the <samp>-c</samp> or <samp>--count</samp> option is also used,
+<code>grep</code> does not output a count greater than <var>num</var>.
+When the <samp>-v</samp> or <samp>--invert-match</samp> option is also used,
+<code>grep</code> stops after outputting <var>num</var> non-matching lines.
+</p>
+</dd>
+<dt><samp>-o</samp></dt>
+<dt><samp>--only-matching</samp></dt>
+<dd><a name="index-_002do"></a>
+<a name="index-_002d_002donly_002dmatching"></a>
+<a name="index-only-matching"></a>
+<p>Print only the matched (non-empty) parts of matching lines,
with each such part on a separate output line.
-
- <br><dt><samp><span class="option">-q</span></samp><dt><samp><span
class="option">--quiet</span></samp><dt><samp><span
class="option">--silent</span></samp><dd><a name="index-g_t_002dq-45"></a><a
name="index-g_t_002d_002dquiet-46"></a><a
name="index-g_t_002d_002dsilent-47"></a><a
name="index-quiet_002c-silent-48"></a>Quiet; do not write anything to standard
output.
+</p>
+</dd>
+<dt><samp>-q</samp></dt>
+<dt><samp>--quiet</samp></dt>
+<dt><samp>--silent</samp></dt>
+<dd><a name="index-_002dq"></a>
+<a name="index-_002d_002dquiet"></a>
+<a name="index-_002d_002dsilent"></a>
+<a name="index-quiet_002c-silent"></a>
+<p>Quiet; do not write anything to standard output.
Exit immediately with zero status if any match is found,
even if an error was detected.
-Also see the <samp><span class="option">-s</span></samp> or <samp><span
class="option">--no-messages</span></samp> option.
-(<samp><span class="option">-q</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">-s</span></samp><dt><samp><span
class="option">--no-messages</span></samp><dd><a
name="index-g_t_002ds-49"></a><a
name="index-g_t_002d_002dno_002dmessages-50"></a><a
name="index-suppress-error-messages-51"></a>Suppress error messages about
nonexistent or unreadable files.
+Also see the <samp>-s</samp> or <samp>--no-messages</samp> option.
+(<samp>-q</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-s</samp></dt>
+<dt><samp>--no-messages</samp></dt>
+<dd><a name="index-_002ds"></a>
+<a name="index-_002d_002dno_002dmessages"></a>
+<a name="index-suppress-error-messages"></a>
+<p>Suppress error messages about nonexistent or unreadable files.
Portability note:
-unlike GNU <samp><span class="command">grep</span></samp>,
-7th Edition Unix <samp><span class="command">grep</span></samp> did not
conform to POSIX,
-because it lacked <samp><span class="option">-q</span></samp>
-and its <samp><span class="option">-s</span></samp> option behaved like
-GNU <samp><span class="command">grep</span></samp>'s <samp><span
class="option">-q</span></samp> option.<a rel="footnote" href="#fn-1"
name="fnd-1"><sup>1</sup></a>
-USG-style <samp><span class="command">grep</span></samp> also lacked
<samp><span class="option">-q</span></samp>
-but its <samp><span class="option">-s</span></samp> option behaved like GNU
<samp><span class="command">grep</span></samp>'s.
+unlike GNU <code>grep</code>,
+7th Edition Unix <code>grep</code> did not conform to POSIX,
+because it lacked <samp>-q</samp>
+and its <samp>-s</samp> option behaved like
+GNU <code>grep</code>’s <samp>-q</samp> option.<a name="DOCF1"
href="#FOOT1"><sup>1</sup></a>
+USG-style <code>grep</code> also lacked <samp>-q</samp>
+but its <samp>-s</samp> option behaved like GNU <code>grep</code>’s.
Portable shell scripts should avoid both
-<samp><span class="option">-q</span></samp> and <samp><span
class="option">-s</span></samp> and should redirect
-standard and error output to <samp><span class="file">/dev/null</span></samp>
instead.
-(<samp><span class="option">-s</span></samp> is specified by POSIX.)
-
+<samp>-q</samp> and <samp>-s</samp> and should redirect
+standard and error output to <samp>/dev/null</samp> instead.
+(<samp>-s</samp> is specified by POSIX.)
+</p>
+</dd>
</dl>
-<div class="node">
+<hr>
<a name="Output-Line-Prefix-Control"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Context-Line-Control">Context
Line Control</a>,
-Previous: <a rel="previous" accesskey="p"
href="#General-Output-Control">General Output Control</a>,
-Up: <a rel="up" accesskey="u"
href="#Command_002dline-Options">Command-line Options</a>
-
+<div class="header">
+<p>
+Next: <a href="#Context-Line-Control" accesskey="n" rel="next">Context Line
Control</a>, Previous: <a href="#General-Output-Control" accesskey="p"
rel="prev">General Output Control</a>, Up: <a href="#Command_002dline-Options"
accesskey="u" rel="up">Command-line Options</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Index"
title="Index" rel="index">Index</a>]</p>
</div>
-
+<a name="Output-Line-Prefix-Control-1"></a>
<h4 class="subsection">2.1.4 Output Line Prefix Control</h4>
<p>When several prefix fields are to be output,
the order is always file name, line number, and byte offset,
regardless of the order in which these options were specified.
-
- <dl>
-<dt><samp><span class="option">-b</span></samp><dt><samp><span
class="option">--byte-offset</span></samp><dd><a
name="index-g_t_002db-52"></a><a
name="index-g_t_002d_002dbyte_002doffset-53"></a><a
name="index-byte-offset-54"></a>Print the 0-based byte offset within the input
file
+</p>
+<dl compact="compact">
+<dt><samp>-b</samp></dt>
+<dt><samp>--byte-offset</samp></dt>
+<dd><a name="index-_002db"></a>
+<a name="index-_002d_002dbyte_002doffset"></a>
+<a name="index-byte-offset"></a>
+<p>Print the 0-based byte offset within the input file
before each line of output.
-If <samp><span class="option">-o</span></samp> (<samp><span
class="option">--only-matching</span></samp>) is specified,
+If <samp>-o</samp> (<samp>--only-matching</samp>) is specified,
print the offset of the matching part itself.
-When <samp><span class="command">grep</span></samp> runs on MS-DOS or
MS-Windows,
+When <code>grep</code> runs on MS-DOS or MS-Windows,
the printed byte offsets depend on whether
-the <samp><span class="option">-u</span></samp> (<samp><span
class="option">--unix-byte-offsets</span></samp>) option is used;
+the <samp>-u</samp> (<samp>--unix-byte-offsets</samp>) option is used;
see below.
-
- <br><dt><samp><span class="option">-H</span></samp><dt><samp><span
class="option">--with-filename</span></samp><dd><a
name="index-g_t_002dH-55"></a><a
name="index-g_t_002d_002dwith_002dfilename-56"></a><a
name="index-with-filename-prefix-57"></a>Print the file name for each match.
+</p>
+</dd>
+<dt><samp>-H</samp></dt>
+<dt><samp>--with-filename</samp></dt>
+<dd><a name="index-_002dH"></a>
+<a name="index-_002d_002dwith_002dfilename"></a>
+<a name="index-with-filename-prefix"></a>
+<p>Print the file name for each match.
This is the default when there is more than one file to search.
-
- <br><dt><samp><span class="option">-h</span></samp><dt><samp><span
class="option">--no-filename</span></samp><dd><a
name="index-g_t_002dh-58"></a><a
name="index-g_t_002d_002dno_002dfilename-59"></a><a
name="index-no-filename-prefix-60"></a>Suppress the prefixing of file names on
output.
+</p>
+</dd>
+<dt><samp>-h</samp></dt>
+<dt><samp>--no-filename</samp></dt>
+<dd><a name="index-_002dh"></a>
+<a name="index-_002d_002dno_002dfilename"></a>
+<a name="index-no-filename-prefix"></a>
+<p>Suppress the prefixing of file names on output.
This is the default when there is only one file
(or only standard input) to search.
-
- <br><dt><samp><span
class="option">--label=</span><var>LABEL</var></samp><dd><a
name="index-g_t_002d_002dlabel-61"></a><a
name="index-changing-name-of-standard-input-62"></a>Display input actually
coming from standard input
+</p>
+</dd>
+<dt><samp>--label=<var>LABEL</var></samp></dt>
+<dd><a name="index-_002d_002dlabel"></a>
+<a name="index-changing-name-of-standard-input"></a>
+<p>Display input actually coming from standard input
as input coming from file <var>LABEL</var>. This is
especially useful when implementing tools like
-<samp><span class="command">zgrep</span></samp>; e.g.:
-
- <pre class="example"> gzip -cd foo.gz | grep --label=foo -H
something
-</pre>
- <br><dt><samp><span class="option">-n</span></samp><dt><samp><span
class="option">--line-number</span></samp><dd><a
name="index-g_t_002dn-63"></a><a
name="index-g_t_002d_002dline_002dnumber-64"></a><a
name="index-line-numbering-65"></a>Prefix each line of output with the 1-based
line number within its input file.
-(<samp><span class="option">-n</span></samp> is specified by POSIX.)
-
- <br><dt><samp><span class="option">-T</span></samp><dt><samp><span
class="option">--initial-tab</span></samp><dd><a
name="index-g_t_002dT-66"></a><a
name="index-g_t_002d_002dinitial_002dtab-67"></a><a
name="index-tab_002daligned-content-lines-68"></a>Make sure that the first
character of actual line content lies on a tab stop,
+<code>zgrep</code>; e.g.:
+</p>
+<div class="example">
+<pre class="example">gzip -cd foo.gz | grep --label=foo -H something
+</pre></div>
+
+</dd>
+<dt><samp>-n</samp></dt>
+<dt><samp>--line-number</samp></dt>
+<dd><a name="index-_002dn"></a>
+<a name="index-_002d_002dline_002dnumber"></a>
+<a name="index-line-numbering"></a>
+<p>Prefix each line of output with the 1-based line number within its input
file.
+(<samp>-n</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-T</samp></dt>
+<dt><samp>--initial-tab</samp></dt>
+<dd><a name="index-_002dT"></a>
+<a name="index-_002d_002dinitial_002dtab"></a>
+<a name="index-tab_002daligned-content-lines"></a>
+<p>Make sure that the first character of actual line content lies on a tab
stop,
so that the alignment of tabs looks normal.
This is useful with options that prefix their output to the actual content:
-<samp><span class="option">-H</span></samp>, <samp><span
class="option">-n</span></samp>, and <samp><span
class="option">-b</span></samp>.
+<samp>-H</samp>, <samp>-n</samp>, and <samp>-b</samp>.
In order to improve the probability that lines
from a single file will all start at the same column,
this also causes the line number and byte offset (if present)
to be printed in a minimum-size field width.
-
- <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
+</p>
+</dd>
+<dt><samp>-u</samp></dt>
+<dt><samp>--unix-byte-offsets</samp></dt>
+<dd><a name="index-_002du"></a>
+<a name="index-_002d_002dunix_002dbyte_002doffsets"></a>
+<a name="index-MS_002dDOS_002fMS_002dWindows-byte-offsets"></a>
+<a name="index-byte-offsets_002c-on-MS_002dDOS_002fMS_002dWindows"></a>
+<p>Report Unix-style byte offsets.
+This option causes <code>grep</code> to report byte offsets
as if the file were a Unix-style text file,
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;
+to running <code>grep</code> on a Unix machine.
+This option has no effect unless the <samp>-b</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 NUL character)
+</p>
+</dd>
+<dt><samp>-Z</samp></dt>
+<dt><samp>--null</samp></dt>
+<dd><a name="index-_002dZ"></a>
+<a name="index-_002d_002dnull"></a>
+<a name="index-zero_002dterminated-file-names"></a>
+<p>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
+‘<samp>grep -lZ</samp>’ outputs a zero byte after each file name
instead of the usual newline.
This option makes the output unambiguous,
even in the presence of file names containing unusual characters like
newlines.
This option can be used with commands like
-‘<samp><span class="samp">find -print0</span></samp>’,
‘<samp><span class="samp">perl -0</span></samp>’,
‘<samp><span class="samp">sort -z</span></samp>’, and
‘<samp><span class="samp">xargs -0</span></samp>’
+‘<samp>find -print0</samp>’, ‘<samp>perl -0</samp>’,
‘<samp>sort -z</samp>’, and ‘<samp>xargs -0</samp>’
to process arbitrary file names,
even those that contain newline characters.
+</p>
+</dd>
+</dl>
- </dl>
-
-<div class="node">
+<hr>
<a name="Context-Line-Control"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n"
href="#File-and-Directory-Selection">File and Directory Selection</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a>,
-Up: <a rel="up" accesskey="u"
href="#Command_002dline-Options">Command-line Options</a>
-
+<div class="header">
+<p>
+Next: <a href="#File-and-Directory-Selection" accesskey="n" rel="next">File
and Directory Selection</a>, Previous: <a href="#Output-Line-Prefix-Control"
accesskey="p" rel="prev">Output Line Prefix Control</a>, Up: <a
href="#Command_002dline-Options" accesskey="u" rel="up">Command-line
Options</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Context-Line-Control-1"></a>
<h4 class="subsection">2.1.5 Context Line Control</h4>
<p>Regardless of how these options are set,
-<samp><span class="command">grep</span></samp> will never print any given line
more than once.
-If the <samp><span class="option">-o</span></samp> (<samp><span
class="option">--only-matching</span></samp>) option is specified,
+<code>grep</code> will never print any given line more than once.
+If the <samp>-o</samp> (<samp>--only-matching</samp>) option is specified,
these options have no effect and a warning is given upon their use.
-
- <dl>
-<dt><samp><span class="option">-A </span><var>num</var></samp><dt><samp><span
class="option">--after-context=</span><var>num</var></samp><dd><a
name="index-g_t_002dA-76"></a><a
name="index-g_t_002d_002dafter_002dcontext-77"></a><a
name="index-after-context-78"></a><a
name="index-context-lines_002c-after-match-79"></a>Print <var>num</var> lines
of trailing context after matching lines.
-
- <br><dt><samp><span class="option">-B
</span><var>num</var></samp><dt><samp><span
class="option">--before-context=</span><var>num</var></samp><dd><a
name="index-g_t_002dB-80"></a><a
name="index-g_t_002d_002dbefore_002dcontext-81"></a><a
name="index-before-context-82"></a><a
name="index-context-lines_002c-before-match-83"></a>Print <var>num</var> lines
of leading context before matching lines.
-
- <br><dt><samp><span class="option">-C
</span><var>num</var></samp><dt><samp><span
class="option">-</span><var>num</var></samp><dt><samp><span
class="option">--context=</span><var>num</var></samp><dd><a
name="index-g_t_002dC-84"></a><a name="index-g_t_002d_002dcontext-85"></a><a
name="index-g_t_002d_0040var_007bnum_007d-86"></a><a
name="index-context-87"></a>Print <var>num</var> lines of leading and trailing
output context.
-
- <br><dt><samp><span
class="option">--group-separator=</span><var>string</var></samp><dd><a
name="index-g_t_002d_002dgroup_002dseparator-88"></a><a
name="index-group-separator-89"></a>When <samp><span
class="option">-A</span></samp>, <samp><span class="option">-B</span></samp> or
<samp><span class="option">-C</span></samp> are in use,
-print <var>string</var> instead of <samp><span class="option">--</span></samp>
between groups of lines.
-
- <br><dt><samp><span
class="option">--no-group-separator</span></samp><dd><a
name="index-g_t_002d_002dgroup_002dseparator-90"></a><a
name="index-group-separator-91"></a>When <samp><span
class="option">-A</span></samp>, <samp><span class="option">-B</span></samp> or
<samp><span class="option">-C</span></samp> are in use,
+</p>
+<dl compact="compact">
+<dt><samp>-A <var>num</var></samp></dt>
+<dt><samp>--after-context=<var>num</var></samp></dt>
+<dd><a name="index-_002dA"></a>
+<a name="index-_002d_002dafter_002dcontext"></a>
+<a name="index-after-context"></a>
+<a name="index-context-lines_002c-after-match"></a>
+<p>Print <var>num</var> lines of trailing context after matching lines.
+</p>
+</dd>
+<dt><samp>-B <var>num</var></samp></dt>
+<dt><samp>--before-context=<var>num</var></samp></dt>
+<dd><a name="index-_002dB"></a>
+<a name="index-_002d_002dbefore_002dcontext"></a>
+<a name="index-before-context"></a>
+<a name="index-context-lines_002c-before-match"></a>
+<p>Print <var>num</var> lines of leading context before matching lines.
+</p>
+</dd>
+<dt><samp>-C <var>num</var></samp></dt>
+<dt><samp>-<var>num</var></samp></dt>
+<dt><samp>--context=<var>num</var></samp></dt>
+<dd><a name="index-_002dC"></a>
+<a name="index-_002d_002dcontext"></a>
+<a name="index-_002dnum"></a>
+<a name="index-context"></a>
+<p>Print <var>num</var> lines of leading and trailing output context.
+</p>
+</dd>
+<dt><samp>--group-separator=<var>string</var></samp></dt>
+<dd><a name="index-_002d_002dgroup_002dseparator"></a>
+<a name="index-group-separator"></a>
+<p>When <samp>-A</samp>, <samp>-B</samp> or <samp>-C</samp> are in use,
+print <var>string</var> instead of <samp>--</samp> between groups of lines.
+</p>
+</dd>
+<dt><samp>--no-group-separator</samp></dt>
+<dd><a name="index-_002d_002dgroup_002dseparator-1"></a>
+<a name="index-group-separator-1"></a>
+<p>When <samp>-A</samp>, <samp>-B</samp> or <samp>-C</samp> are in use,
do not print a separator between groups of lines.
+</p>
+</dd>
+</dl>
- </dl>
-
- <p>Here are some points about how <samp><span
class="command">grep</span></samp> chooses
+<p>Here are some points about how <code>grep</code> chooses
the separator to print between prefix fields and line content:
-
- <ul>
-<li>Matching lines normally use ‘<samp><span
class="samp">:</span></samp>’ as a separator
+</p>
+<ul>
+<li> Matching lines normally use ‘<samp>:</samp>’ as a separator
between prefix fields and actual line content.
- <li>Context (i.e., non-matching) lines use ‘<samp><span
class="samp">-</span></samp>’ instead.
+</li><li> Context (i.e., non-matching) lines use ‘<samp>-</samp>’
instead.
- <li>When context is not specified,
+</li><li> When context is not specified,
matching lines are simply output one right after another.
- <li>When context is specified,
+</li><li> When context is specified,
lines that are adjacent in the input form a group
and are output one right after another, while
by default a separator appears between non-adjacent groups.
- <li>The default separator
-is a ‘<samp><span class="samp">--</span></samp>’ line; its
presence and appearance
+</li><li> The default separator
+is a ‘<samp>--</samp>’ line; its presence and appearance
can be changed with the options above.
- <li>Each group may contain
+</li><li> Each group may contain
several matching lines when they are close enough to each other
that two adjacent groups connect and can merge into a single
contiguous one.
-</ul>
+</li></ul>
-<div class="node">
+<hr>
<a name="File-and-Directory-Selection"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Other-Options">Other Options</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Context-Line-Control">Context Line Control</a>,
-Up: <a rel="up" accesskey="u"
href="#Command_002dline-Options">Command-line Options</a>
-
+<div class="header">
+<p>
+Next: <a href="#Other-Options" accesskey="n" rel="next">Other Options</a>,
Previous: <a href="#Context-Line-Control" accesskey="p" rel="prev">Context Line
Control</a>, Up: <a href="#Command_002dline-Options" accesskey="u"
rel="up">Command-line Options</a> [<a href="#SEC_Contents" title="Table
of contents" rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="File-and-Directory-Selection-1"></a>
<h4 class="subsection">2.1.6 File and Directory Selection</h4>
- <dl>
-<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 if its data read before a line is selected for output,
+<dl compact="compact">
+<dt><samp>-a</samp></dt>
+<dt><samp>--text</samp></dt>
+<dd><a name="index-_002da"></a>
+<a name="index-_002d_002dtext"></a>
+<a name="index-suppress-binary-data"></a>
+<a name="index-binary-files"></a>
+<p>Process a binary file as if it were text;
+this is equivalent to the ‘<samp>--binary-files=text</samp>’
option.
+</p>
+</dd>
+<dt><samp>--binary-files=<var>type</var></samp></dt>
+<dd><a name="index-_002d_002dbinary_002dfiles"></a>
+<a name="index-binary-files-1"></a>
+<p>If a file’s data or metadata
indicate that the file contains binary data,
assume that the file is of type <var>type</var>.
-Non-text bytes indicate binary data; these are either data bytes
-improperly encoded for the current locale, or null bytes when the
-<samp><span class="option">-z</span></samp> (<samp><span
class="option">--null-data</span></samp>) option is not given (see <a
href="#Other-Options">Other Options</a>).
-
- <p>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 processing binary data, <samp><span class="command">grep</span></samp>
may treat non-text bytes
-as line terminators; for example, the pattern ‘<samp><span
class="samp">.</span></samp>’ (period) might
+Non-text bytes indicate binary data; these are either output bytes that are
+improperly encoded for the current locale, or null input bytes when the
+<samp>-z</samp> (<samp>--null-data</samp>) option is not given (see <a
href="#Other-Options">Other Options</a>).
+</p>
+<p>By default, <var>type</var> is ‘<samp>binary</samp>’, and when
<code>grep</code>
+discovers that a file is binary it suppresses any further output, and
+instead outputs either a one-line message saying that a binary file
+matches, or no message if there is no match.
+When processing binary data, <code>grep</code> may treat non-text bytes
+as line terminators; for example, the pattern ‘<samp>.</samp>’
(period) might
not match a null byte, as the null byte might be treated as a line
-terminator even without the <samp><span class="option">-z</span></samp>
(<samp><span class="option">--null-data</span></samp>) option.
-
- <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;
-this is equivalent to the <samp><span class="option">-I</span></samp> option.
-
- <p>If <var>type</var> is ‘<samp><span
class="samp">text</span></samp>’,
-<samp><span class="command">grep</span></samp> processes a binary file as if
it were text;
-this is equivalent to the <samp><span class="option">-a</span></samp> option.
-
- <p><em>Warning:</em> ‘<samp><span
class="samp">--binary-files=text</span></samp>’ might output binary
garbage,
+terminator even without the <samp>-z</samp> (<samp>--null-data</samp>) option.
+</p>
+<p>If <var>type</var> is ‘<samp>without-match</samp>’,
+when <code>grep</code> discovers that a file is binary
+it assumes that the rest of the file does not match;
+this is equivalent to the <samp>-I</samp> option.
+</p>
+<p>If <var>type</var> is ‘<samp>text</samp>’,
+<code>grep</code> processes a binary file as if it were text;
+this is equivalent to the <samp>-a</samp> option.
+</p>
+<p><em>Warning:</em> ‘<samp>--binary-files=text</samp>’ might
output binary garbage,
which can have nasty side effects
if the output is a terminal and
if the terminal driver interprets some of it as commands.
-
- <br><dt><samp><span class="option">-D
</span><var>action</var></samp><dt><samp><span
class="option">--devices=</span><var>action</var></samp><dd><a
name="index-g_t_002dD-98"></a><a name="index-g_t_002d_002ddevices-99"></a><a
name="index-device-search-100"></a>If an input file is a device, FIFO, or
socket, use <var>action</var> to process it.
-If <var>action</var> is ‘<samp><span
class="samp">read</span></samp>’,
+</p>
+</dd>
+<dt><samp>-D <var>action</var></samp></dt>
+<dt><samp>--devices=<var>action</var></samp></dt>
+<dd><a name="index-_002dD"></a>
+<a name="index-_002d_002ddevices"></a>
+<a name="index-device-search"></a>
+<p>If an input file is a device, FIFO, or socket, use <var>action</var> to
process it.
+If <var>action</var> is ‘<samp>read</samp>’,
all devices are read just as if they were ordinary files.
-If <var>action</var> is ‘<samp><span
class="samp">skip</span></samp>’,
+If <var>action</var> is ‘<samp>skip</samp>’,
devices, FIFOs, and sockets are silently skipped.
By default, devices are read if they are on the command line or if the
-<samp><span class="option">-R</span></samp> (<samp><span
class="option">--dereference-recursive</span></samp>) option is used, and are
-skipped if they are encountered recursively and the <samp><span
class="option">-r</span></samp>
-(<samp><span class="option">--recursive</span></samp>) option is used.
+<samp>-R</samp> (<samp>--dereference-recursive</samp>) option is used, and are
+skipped if they are encountered recursively and the <samp>-r</samp>
+(<samp>--recursive</samp>) option is used.
This option has no effect on a file that is read via standard input.
-
- <br><dt><samp><span class="option">-d
</span><var>action</var></samp><dt><samp><span
class="option">--directories=</span><var>action</var></samp><dd><a
name="index-g_t_002dd-101"></a><a
name="index-g_t_002d_002ddirectories-102"></a><a
name="index-directory-search-103"></a><a name="index-symbolic-links-104"></a>If
an input file is a directory, use <var>action</var> to process it.
-By default, <var>action</var> is ‘<samp><span
class="samp">read</span></samp>’,
+</p>
+</dd>
+<dt><samp>-d <var>action</var></samp></dt>
+<dt><samp>--directories=<var>action</var></samp></dt>
+<dd><a name="index-_002dd"></a>
+<a name="index-_002d_002ddirectories"></a>
+<a name="index-directory-search"></a>
+<a name="index-symbolic-links"></a>
+<p>If an input file is a directory, use <var>action</var> to process it.
+By default, <var>action</var> is ‘<samp>read</samp>’,
which means that directories are read just as if they were ordinary files
(some operating systems and file systems disallow this,
-and will cause <samp><span class="command">grep</span></samp>
+and will cause <code>grep</code>
to print error messages for every directory or silently skip them).
-If <var>action</var> is ‘<samp><span
class="samp">skip</span></samp>’, directories are silently skipped.
-If <var>action</var> is ‘<samp><span
class="samp">recurse</span></samp>’,
-<samp><span class="command">grep</span></samp> reads all files under each
directory, recursively,
+If <var>action</var> is ‘<samp>skip</samp>’, directories are
silently skipped.
+If <var>action</var> is ‘<samp>recurse</samp>’,
+<code>grep</code> reads all files under each directory, recursively,
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 name matches
the pattern <var>glob</var>, using wildcard
-matching. When searching recursively, skip any subfile whose base
+this is equivalent to the <samp>-r</samp> option.
+</p>
+</dd>
+<dt><samp>--exclude=<var>glob</var></samp></dt>
+<dd><a name="index-_002d_002dexclude"></a>
+<a name="index-exclude-files"></a>
+<a name="index-searching-directory-trees"></a>
+<p>Skip any command-line file with a name suffix that matches the pattern
+<var>glob</var>, using wildcard matching; a name suffix is either the whole
+name, or any suffix starting after a ‘<samp>/</samp>’ and before a
+non-‘<samp>/</samp>’. 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,
+‘<samp>/</samp>’. A pattern can use
+‘<samp>*</samp>’, ‘<samp>?</samp>’, and
‘<samp>[</samp>’...‘<samp>]</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 name matches
any of the patterns
+</p>
+</dd>
+<dt><samp>--exclude-from=<var>file</var></samp></dt>
+<dd><a name="index-_002d_002dexclude_002dfrom"></a>
+<a name="index-exclude-files-1"></a>
+<a name="index-searching-directory-trees-1"></a>
+<p>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>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 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,
+under <samp>--exclude</samp>).
+</p>
+</dd>
+<dt><samp>--exclude-dir=<var>glob</var></samp></dt>
+<dd><a name="index-_002d_002dexclude_002ddir"></a>
+<a name="index-exclude-directories"></a>
+<p>Skip any command-line directory with a name suffix that 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>.
+</p>
+</dd>
+<dt><samp>-I</samp></dt>
+<dd><p>Process a binary file as if it did not contain matching data;
+this is equivalent to the
‘<samp>--binary-files=without-match</samp>’ option.
+</p>
+</dd>
+<dt><samp>--include=<var>glob</var></samp></dt>
+<dd><a name="index-_002d_002dinclude"></a>
+<a name="index-include-files"></a>
+<a name="index-searching-directory-trees-2"></a>
+<p>Search only files whose name matches <var>glob</var>,
+using wildcard matching as described under <samp>--exclude</samp>.
+</p>
+</dd>
+<dt><samp>-r</samp></dt>
+<dt><samp>--recursive</samp></dt>
+<dd><a name="index-_002dr"></a>
+<a name="index-_002d_002drecursive"></a>
+<a name="index-recursive-search"></a>
+<a name="index-searching-directory-trees-3"></a>
+<a name="index-symbolic-links-1"></a>
+<p>For each directory operand,
read and process all files in that directory, recursively.
Follow symbolic links on the command line, but skip symlinks
that are encountered recursively.
Note that if no file operand is given, grep searches the working directory.
-This is the same as the ‘<samp><span
class="samp">--directories=recurse</span></samp>’ option.
-
- <br><dt><samp><span class="option">-R</span></samp><dt><samp><span
class="option">--dereference-recursive</span></samp><dd><a
name="index-g_t_002dR-121"></a><a
name="index-g_t_002d_002ddereference_002drecursive-122"></a><a
name="index-recursive-search-123"></a><a
name="index-searching-directory-trees-124"></a><a
name="index-symbolic-links-125"></a>For each directory operand, read and
process all files in that
+This is the same as the ‘<samp>--directories=recurse</samp>’
option.
+</p>
+</dd>
+<dt><samp>-R</samp></dt>
+<dt><samp>--dereference-recursive</samp></dt>
+<dd><a name="index-_002dR"></a>
+<a name="index-_002d_002ddereference_002drecursive"></a>
+<a name="index-recursive-search-1"></a>
+<a name="index-searching-directory-trees-4"></a>
+<a name="index-symbolic-links-2"></a>
+<p>For each directory operand, read and process all files in that
directory, recursively, following all symbolic links.
-
+</p>
+</dd>
</dl>
-<div class="node">
+<hr>
<a name="Other-Options"></a>
-<p><hr>
-Previous: <a rel="previous" accesskey="p"
href="#File-and-Directory-Selection">File and Directory Selection</a>,
-Up: <a rel="up" accesskey="u"
href="#Command_002dline-Options">Command-line Options</a>
-
+<div class="header">
+<p>
+Previous: <a href="#File-and-Directory-Selection" accesskey="p"
rel="prev">File and Directory Selection</a>, Up: <a
href="#Command_002dline-Options" accesskey="u" rel="up">Command-line
Options</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Other-Options-1"></a>
<h4 class="subsection">2.1.7 Other Options</h4>
- <dl>
-<dt><samp><span class="option">--line-buffered</span></samp><dd><a
name="index-g_t_002d_002dline_002dbuffered-126"></a><a
name="index-line-buffering-127"></a>Use line buffering on output.
+<dl compact="compact">
+<dt><samp>--line-buffered</samp></dt>
+<dd><a name="index-_002d_002dline_002dbuffered"></a>
+<a name="index-line-buffering"></a>
+<p>Use line buffering on output.
This can cause a performance penalty.
-
- <br><dt><samp><span class="option">-U</span></samp><dt><samp><span
class="option">--binary</span></samp><dd><a name="index-g_t_002dU-128"></a><a
name="index-g_t_002d_002dbinary-129"></a><a
name="index-MS_002dDOS_002fMS_002dWindows-binary-files-130"></a><a
name="index-binary-files_002c-MS_002dDOS_002fMS_002dWindows-131"></a>Treat the
file(s) as binary.
+</p>
+</dd>
+<dt><samp>-U</samp></dt>
+<dt><samp>--binary</samp></dt>
+<dd><a name="index-_002dU"></a>
+<a name="index-_002d_002dbinary"></a>
+<a name="index-MS_002dDOS_002fMS_002dWindows-binary-files"></a>
+<a name="index-binary-files_002c-MS_002dDOS_002fMS_002dWindows"></a>
+<p>Treat the file(s) as binary.
By default, under MS-DOS and MS-Windows,
-<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,
+<code>grep</code> guesses whether a file is text or binary
+as described for the <samp>--binary-files</samp> option.
+If <code>grep</code> decides the file is a text file,
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,
+Specifying <samp>-U</samp> overrules this guesswork,
causing all files to be read and passed to the matching mechanism verbatim;
if the file is a text file with <code>CR/LF</code> pairs at the end of each
line,
this will cause some regular expressions to fail.
This option 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-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
+</p>
+</dd>
+<dt><samp>-z</samp></dt>
+<dt><samp>--null-data</samp></dt>
+<dd><a name="index-_002dz"></a>
+<a name="index-_002d_002dnull_002ddata"></a>
+<a name="index-zero_002dterminated-lines"></a>
+<p>Treat the input as a set of lines, each terminated by a zero byte (the
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,
+Like the <samp>-Z</samp> or <samp>--null</samp> option,
this option can be used with commands like
-‘<samp><span class="samp">sort -z</span></samp>’ to process
arbitrary file names.
-
+‘<samp>sort -z</samp>’ to process arbitrary file names.
+</p>
+</dd>
</dl>
-<div class="node">
+<hr>
<a name="Environment-Variables"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Exit-Status">Exit Status</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Command_002dline-Options">Command-line Options</a>,
-Up: <a rel="up" accesskey="u" href="#Invoking">Invoking</a>
-
+<div class="header">
+<p>
+Next: <a href="#Exit-Status" accesskey="n" rel="next">Exit Status</a>,
Previous: <a href="#Command_002dline-Options" accesskey="p"
rel="prev">Command-line Options</a>, Up: <a href="#Invoking" accesskey="u"
rel="up">Invoking</a> [<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Environment-Variables-1"></a>
<h3 class="section">2.2 Environment Variables</h3>
-<p>The behavior of <samp><span class="command">grep</span></samp> is affected
+<p>The behavior of <code>grep</code> is affected
by the following environment variables.
-
- <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 -->
+</p>
+<a name="index-LANGUAGE-environment-variable"></a>
+<a name="index-LC_005fALL-environment-variable"></a>
+<a name="index-LC_005fMESSAGES-environment-variable"></a>
+<a name="index-LANG-environment-variable"></a>
+<p>The locale for category <code><span
class="nolinebreak">LC_</span><var>foo</var></code><!-- /@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>,
+<code>LC_ALL</code>, <code><span
class="nolinebreak">LC_</span><var>foo</var></code><!-- /@w -->, and
<code>LANG</code>,
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_COLLATE</span></samp> is set to
‘<samp><span class="samp">pt_BR</span></samp>’,
+For example, if <code>LC_ALL</code> is not set,
+but <code>LC_COLLATE</code> is set to ‘<samp>pt_BR</samp>’,
then the Brazilian Portuguese locale is used
-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
+for the <code>LC_COLLATE</code> category.
+As a special case for <code>LC_MESSAGES</code> only, the environment variable
+<code>LANGUAGE</code> 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,
+the <code>LC_MESSAGES</code> category.
+The ‘<samp>C</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
+or if <code>grep</code> was not compiled
with national language support (NLS).
-
- <p>Many of the environment variables in the following list let you
+</p>
+<p>Many of the environment variables in the following list let you
control highlighting using
Select Graphic Rendition (SGR)
commands interpreted by the terminal or terminal emulator.
@@ -695,125 +1000,171 @@
for permitted values and their meanings as character attributes.)
These substring values are integers in decimal representation
and can be concatenated with semicolons.
-<samp><span class="command">grep</span></samp> takes care of assembling the
result
-into a complete SGR sequence (‘<samp><span
class="samp">\33[</span></samp>’...‘<samp><span
class="samp">m</span></samp>’).
+<code>grep</code> takes care of assembling the result
+into a complete SGR sequence
(‘<samp>\33[</samp>’...‘<samp>m</samp>’).
Common values to concatenate include
-‘<samp><span class="samp">1</span></samp>’ for bold,
-‘<samp><span class="samp">4</span></samp>’ for underline,
-‘<samp><span class="samp">5</span></samp>’ for blink,
-‘<samp><span class="samp">7</span></samp>’ for inverse,
-‘<samp><span class="samp">39</span></samp>’ for default foreground
color,
-‘<samp><span class="samp">30</span></samp>’ to ‘<samp><span
class="samp">37</span></samp>’ for foreground colors,
-‘<samp><span class="samp">90</span></samp>’ to ‘<samp><span
class="samp">97</span></samp>’ for 16-color mode foreground colors,
-‘<samp><span class="samp">38;5;0</span></samp>’ to
‘<samp><span class="samp">38;5;255</span></samp>’
+‘<samp>1</samp>’ for bold,
+‘<samp>4</samp>’ for underline,
+‘<samp>5</samp>’ for blink,
+‘<samp>7</samp>’ for inverse,
+‘<samp>39</samp>’ for default foreground color,
+‘<samp>30</samp>’ to ‘<samp>37</samp>’ for foreground
colors,
+‘<samp>90</samp>’ to ‘<samp>97</samp>’ for 16-color
mode foreground colors,
+‘<samp>38;5;0</samp>’ to ‘<samp>38;5;255</samp>’
for 88-color and 256-color modes foreground colors,
-‘<samp><span class="samp">49</span></samp>’ for default background
color,
-‘<samp><span class="samp">40</span></samp>’ to ‘<samp><span
class="samp">47</span></samp>’ for background colors,
-‘<samp><span class="samp">100</span></samp>’ to ‘<samp><span
class="samp">107</span></samp>’ for 16-color mode background colors,
-and ‘<samp><span class="samp">48;5;0</span></samp>’ to
‘<samp><span class="samp">48;5;255</span></samp>’
+‘<samp>49</samp>’ for default background color,
+‘<samp>40</samp>’ to ‘<samp>47</samp>’ for background
colors,
+‘<samp>100</samp>’ to ‘<samp>107</samp>’ for 16-color
mode background colors,
+and ‘<samp>48;5;0</samp>’ to ‘<samp>48;5;255</samp>’
for 88-color and 256-color modes background colors.
-
- <p>The two-letter names used in the <samp><span
class="env">GREP_COLORS</span></samp> environment variable
+</p>
+<p>The two-letter names used in the <code>GREP_COLORS</code> environment
variable
(and some of the others) refer to terminal “capabilities,” the
ability
of a terminal to highlight text, or change its color, and so on.
These capabilities are stored in an online database and accessed by
the <code>terminfo</code> library.
+</p>
+<a name="index-environment-variables"></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-140"></a><a
name="index-default-options-environment-variable-141"></a>This variable
specifies default options to be placed in front of any
+<dl compact="compact">
+<dt><code>GREP_OPTIONS</code></dt>
+<dd><a name="index-GREP_005fOPTIONS-environment-variable"></a>
+<a name="index-default-options-environment-variable"></a>
+<p>This variable specifies default options to be placed in front of any
explicit options.
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>
+will be removed in a future release of <code>grep</code>, and <code>grep</code>
warns if it is used. Please use an alias or script instead.
-For example, if <samp><span class="command">grep</span></samp> is in the
directory ‘<samp><span class="samp">/usr/bin</span></samp>’ you
-can prepend <samp><span class="file">$HOME/bin</span></samp> to your
<samp><span class="env">PATH</span></samp> and create an
-executable script <samp><span class="file">$HOME/bin/grep</span></samp>
containing the following:
-
- <pre class="example"> #! /bin/sh
- export PATH=/usr/bin
- exec grep --color=auto --devices=skip "$@"
-</pre>
- <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>
+For example, if <code>grep</code> is in the directory
‘<samp>/usr/bin</samp>’ you
+can prepend <samp>$HOME/bin</samp> to your <code>PATH</code> and create an
+executable script <samp>$HOME/bin/grep</samp> containing the following:
+</p>
+<div class="example">
+<pre class="example">#! /bin/sh
+export PATH=/usr/bin
+exec grep --color=auto --devices=skip "$@"
+</pre></div>
+
+</dd>
+<dt><code>GREP_COLOR</code></dt>
+<dd><a name="index-GREP_005fCOLOR-environment-variable"></a>
+<a name="index-highlight-markers"></a>
+<p>This variable specifies the color used to highlight matched (non-empty)
text.
+It is deprecated in favor of <code>GREP_COLORS</code>, but still supported.
+The ‘<samp>mt</samp>’, ‘<samp>ms</samp>’, and
‘<samp>mc</samp>’ capabilities of <code>GREP_COLORS</code>
have priority over it.
It can only specify the color used to highlight
the matching non-empty text in any matching line
-(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).
-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-144"></a><a
name="index-highlight-markers-145"></a>This variable specifies the colors and
other attributes
+(a selected line when the <samp>-v</samp> command-line option is omitted,
+or a context line when <samp>-v</samp> is specified).
+The default is ‘<samp>01;31</samp>’,
+which means a bold red foreground text on the terminal’s default
background.
+</p>
+</dd>
+<dt><code>GREP_COLORS</code></dt>
+<dd><a name="index-GREP_005fCOLORS-environment-variable"></a>
+<a name="index-highlight-markers-1"></a>
+<p>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>’
-with the ‘<samp><span class="samp">rv</span></samp>’ and
‘<samp><span class="samp">ne</span></samp>’ boolean capabilities
omitted (i.e., false).
+that defaults to
‘<samp>ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36</samp>’
+with the ‘<samp>rv</samp>’ and ‘<samp>ne</samp>’
boolean capabilities omitted (i.e., false).
Supported capabilities are as follows.
-
- <dl>
-<dt><code>sl=</code><dd><a
name="index-sl-GREP_005fCOLORS-_0040r_007bcapability_007d-146"></a>SGR
substring for whole selected lines
+</p>
+<dl compact="compact">
+<dt><code>sl=</code></dt>
+<dd><a name="index-sl-GREP_005fCOLORS-capability"></a>
+<p>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).
-If however the boolean ‘<samp><span class="samp">rv</span></samp>’
capability
-and the <samp><span class="option">-v</span></samp> command-line option are
both specified,
+matching lines when the <samp>-v</samp> command-line option is omitted,
+or non-matching lines when <samp>-v</samp> is specified).
+If however the boolean ‘<samp>rv</samp>’ capability
+and the <samp>-v</samp> command-line option are both specified,
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-147"></a>SGR
substring for whole context lines
+The default is empty (i.e., the terminal’s default color pair).
+</p>
+</dd>
+<dt><code>cx=</code></dt>
+<dd><a name="index-cx-GREP_005fCOLORS-capability"></a>
+<p>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).
-If however the boolean ‘<samp><span class="samp">rv</span></samp>’
capability
-and the <samp><span class="option">-v</span></samp> command-line option are
both specified,
+non-matching lines when the <samp>-v</samp> command-line option is omitted,
+or matching lines when <samp>-v</samp> is specified).
+If however the boolean ‘<samp>rv</samp>’ capability
+and the <samp>-v</samp> command-line option are both specified,
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-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 empty (i.e., the terminal’s default color pair).
+</p>
+</dd>
+<dt><code>rv</code></dt>
+<dd><a name="index-rv-GREP_005fCOLORS-capability"></a>
+<p>Boolean value that reverses (swaps) the meanings of
+the ‘<samp>sl=</samp>’ and ‘<samp>cx=</samp>’
capabilities
+when the <samp>-v</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-149"></a>SGR
substring for matching non-empty text in any matching line
+</p>
+</dd>
+<dt><code>mt=01;31</code></dt>
+<dd><a name="index-mt-GREP_005fCOLORS-capability"></a>
+<p>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).
-Setting this is equivalent to setting both ‘<samp><span
class="samp">ms=</span></samp>’ and ‘<samp><span
class="samp">mc=</span></samp>’
+a selected line when the <samp>-v</samp> command-line option is omitted,
+or a context line when <samp>-v</samp> is specified).
+Setting this is equivalent to setting both ‘<samp>ms=</samp>’ and
‘<samp>mc=</samp>’
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-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
+</p>
+</dd>
+<dt><code>ms=01;31</code></dt>
+<dd><a name="index-ms-GREP_005fCOLORS-capability"></a>
+<p>SGR substring for matching non-empty text in a selected line.
+(This is used only when the <samp>-v</samp> command-line option is omitted.)
+The effect of the ‘<samp>sl=</samp>’ (or
‘<samp>cx=</samp>’ if ‘<samp>rv</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-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
+</p>
+</dd>
+<dt><code>mc=01;31</code></dt>
+<dd><a name="index-mc-GREP_005fCOLORS-capability"></a>
+<p>SGR substring for matching non-empty text in a context line.
+(This is used only when the <samp>-v</samp> command-line option is specified.)
+The effect of the ‘<samp>cx=</samp>’ (or
‘<samp>sl=</samp>’ if ‘<samp>rv</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-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-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-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-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>’),
+</p>
+</dd>
+<dt><code>fn=35</code></dt>
+<dd><a name="index-fn-GREP_005fCOLORS-capability"></a>
+<p>SGR substring for file names prefixing any content line.
+The default is a magenta text foreground over the terminal’s default
background.
+</p>
+</dd>
+<dt><code>ln=32</code></dt>
+<dd><a name="index-ln-GREP_005fCOLORS-capability"></a>
+<p>SGR substring for line numbers prefixing any content line.
+The default is a green text foreground over the terminal’s default
background.
+</p>
+</dd>
+<dt><code>bn=32</code></dt>
+<dd><a name="index-bn-GREP_005fCOLORS-capability"></a>
+<p>SGR substring for byte offsets prefixing any content line.
+The default is a green text foreground over the terminal’s default
background.
+</p>
+</dd>
+<dt><code>se=36</code></dt>
+<dd><a name="index-fn-GREP_005fCOLORS-capability-1"></a>
+<p>SGR substring for separators that are inserted
+between selected line fields (‘<samp>:</samp>’),
+between context line fields (‘<samp>-</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-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>’)
+when nonzero context is specified (‘<samp>--</samp>’).
+The default is a cyan text foreground over the terminal’s default
background.
+</p>
+</dd>
+<dt><code>ne</code></dt>
+<dd><a name="index-ne-GREP_005fCOLORS-capability"></a>
+<p>Boolean value that prevents clearing to the end of line
+using Erase in Line (EL) to Right (‘<samp>\33[K</samp>’)
each time a colorized item ends.
This is needed on terminals on which EL is not supported.
It is otherwise useful on terminals
@@ -822,131 +1173,193 @@
when the chosen highlight colors do not affect the background,
or when EL is too slow or causes too much flicker.
The default is false (i.e., the capability is omitted).
+</p></dd>
</dl>
- <p>Note that boolean capabilities have no ‘<samp><span
class="samp">=</span></samp>’... part.
+<p>Note that boolean capabilities have no ‘<samp>=</samp>’... part.
They are omitted (i.e., false) by default and become true when specified.
+</p>
- <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
+</dd>
+<dt><code>LC_ALL</code></dt>
+<dt><code>LC_COLLATE</code></dt>
+<dt><code>LANG</code></dt>
+<dd><a name="index-LC_005fALL-environment-variable-1"></a>
+<a name="index-LC_005fCOLLATE-environment-variable"></a>
+<a name="index-LANG-environment-variable-1"></a>
+<a name="index-character-type"></a>
+<a name="index-national-language-support"></a>
+<a name="index-NLS"></a>
+<p>These variables specify the locale for the <code>LC_COLLATE</code> category,
+which might affect how range expressions like ‘<samp>[a-z]</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-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,
+</p>
+</dd>
+<dt><code>LC_ALL</code></dt>
+<dt><code>LC_CTYPE</code></dt>
+<dt><code>LANG</code></dt>
+<dd><a name="index-LC_005fALL-environment-variable-2"></a>
+<a name="index-LC_005fCTYPE-environment-variable"></a>
+<a name="index-LANG-environment-variable-2"></a>
+<p>These variables specify the locale for the <code>LC_CTYPE</code> category,
which determines the type of characters,
e.g., which characters are whitespace.
-
- <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-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.
+</p>
+</dd>
+<dt><code>LANGUAGE</code></dt>
+<dt><code>LC_ALL</code></dt>
+<dt><code>LC_MESSAGES</code></dt>
+<dt><code>LANG</code></dt>
+<dd><a name="index-LANGUAGE-environment-variable-1"></a>
+<a name="index-LC_005fALL-environment-variable-3"></a>
+<a name="index-LC_005fMESSAGES-environment-variable-1"></a>
+<a name="index-LANG-environment-variable-3"></a>
+<a name="index-language-of-messages"></a>
+<a name="index-message-language"></a>
+<a name="index-national-language-support-1"></a>
+<a name="index-translation-of-message-language"></a>
+<p>These variables specify the locale for the <code>LC_MESSAGES</code>
category,
+which determines the language that <code>grep</code> uses for messages.
+The default ‘<samp>C</samp>’ locale uses American English messages.
+</p>
+</dd>
+<dt><code>POSIXLY_CORRECT</code></dt>
+<dd><a name="index-POSIXLY_005fCORRECT-environment-variable"></a>
+<p>If set, <code>grep</code> behaves as POSIX requires; otherwise,
+<code>grep</code> behaves more like other GNU programs.
POSIX
requires that options that
follow file names must be treated as file names;
by default,
such options are permuted to the front of the operand list
and are treated as options.
-Also, <samp><span class="env">POSIXLY_CORRECT</span></samp> disables special
handling of an
+Also, <code>POSIXLY_CORRECT</code> 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-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,
+</p>
+</dd>
+<dt><code>_<var>N</var>_GNU_nonoption_argv_flags_</code></dt>
+<dd><a
name="index-_005fN_005fGNU_005fnonoption_005fargv_005fflags_005f-environment-variable"></a>
+<p>(Here <code><var>N</var></code> is <code>grep</code>’s numeric
process ID.)
+If the <var>i</var>th character of this environment variable’s value is
‘<samp>1</samp>’,
+do not consider the <var>i</var>th operand of <code>grep</code> to be an
option,
even if it appears to be one.
A shell can put this variable in the environment for each command it runs,
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 <samp><span class="env">POSIXLY_CORRECT</span></samp> is not set.
+and only when <code>POSIXLY_CORRECT</code> is not set.
+</p>
+</dd>
+</dl>
- </dl>
-<div class="node">
+<hr>
<a name="Exit-Status"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#grep-Programs">grep Programs</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Environment-Variables">Environment Variables</a>,
-Up: <a rel="up" accesskey="u" href="#Invoking">Invoking</a>
-
+<div class="header">
+<p>
+Next: <a href="#grep-Programs" accesskey="n" rel="next">grep Programs</a>,
Previous: <a href="#Environment-Variables" accesskey="p" rel="prev">Environment
Variables</a>, Up: <a href="#Invoking" accesskey="u" rel="up">Invoking</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Exit-Status-1"></a>
<h3 class="section">2.3 Exit Status</h3>
+<a name="index-exit-status"></a>
+<a name="index-return-status"></a>
-<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
+<p>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
+<samp>-q</samp> or <samp>--quiet</samp> or <samp>--silent</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
+occurred. Other <code>grep</code> implementations may exit with status
greater than 2 on error.
-
-<div class="node">
+</p>
+<hr>
<a name="grep-Programs"></a>
-<p><hr>
-Previous: <a rel="previous" accesskey="p" href="#Exit-Status">Exit
Status</a>,
-Up: <a rel="up" accesskey="u" href="#Invoking">Invoking</a>
-
-</div>
-
-<h3 class="section">2.4 <samp><span class="command">grep</span></samp>
Programs</h3>
+<div class="header">
+<p>
+Previous: <a href="#Exit-Status" accesskey="p" rel="prev">Exit Status</a>, Up:
<a href="#Invoking" accesskey="u" rel="up">Invoking</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="grep-Programs-1"></a>
+<h3 class="section">2.4 <code>grep</code> Programs</h3>
+<a name="index-grep-programs"></a>
+<a name="index-variants-of-grep"></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
+<p><code>grep</code> 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.
-A file named <samp><span class="file">-</span></samp> stands for standard
input.
-If no input is specified, <samp><span class="command">grep</span></samp>
searches the working
-directory <samp><span class="file">.</span></samp> if given a command-line
option specifying
-recursion; otherwise, <samp><span class="command">grep</span></samp> searches
standard input.
-There are four major variants of <samp><span
class="command">grep</span></samp>,
+By default, <code>grep</code> prints the matching lines.
+A file named <samp>-</samp> stands for standard input.
+If no input is specified, <code>grep</code> searches the working
+directory <samp>.</samp> if given a command-line option specifying
+recursion; otherwise, <code>grep</code> searches standard input.
+There are four major variants of <code>grep</code>,
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-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).
+</p>
+<dl compact="compact">
+<dt><samp>-G</samp></dt>
+<dt><samp>--basic-regexp</samp></dt>
+<dd><a name="index-_002dG"></a>
+<a name="index-_002d_002dbasic_002dregexp"></a>
+<a name="index-matching-basic-regular-expressions"></a>
+<p>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-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-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-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.
+</p>
+</dd>
+<dt><samp>-E</samp></dt>
+<dt><samp>--extended-regexp</samp></dt>
+<dd><a name="index-_002dE"></a>
+<a name="index-_002d_002dextended_002dregexp"></a>
+<a name="index-matching-extended-regular-expressions"></a>
+<p>Interpret the pattern as an extended regular expression (ERE).
+(<samp>-E</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-F</samp></dt>
+<dt><samp>--fixed-strings</samp></dt>
+<dd><a name="index-_002dF"></a>
+<a name="index-_002d_002dfixed_002dstrings"></a>
+<a name="index-matching-fixed-strings"></a>
+<p>Interpret the pattern as a list of fixed strings (instead of regular
+expressions), separated by newlines, any of which is to be matched.
+(<samp>-F</samp> is specified by POSIX.)
+</p>
+</dd>
+<dt><samp>-P</samp></dt>
+<dt><samp>--perl-regexp</samp></dt>
+<dd><a name="index-_002dP"></a>
+<a name="index-_002d_002dperl_002dregexp"></a>
+<a name="index-matching-Perl-regular-expressions"></a>
+<p>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.
-
- </dl>
+‘<samp>grep -P</samp>’ may warn of unimplemented features.
+</p>
+</dd>
+</dl>
- <p>In addition,
-two variant programs <samp><span class="command">egrep</span></samp> and
<samp><span class="command">fgrep</span></samp> are available.
-<samp><span class="command">egrep</span></samp> is the same as
‘<samp><span class="samp">grep -E</span></samp>’.
-<samp><span class="command">fgrep</span></samp> is the same as
‘<samp><span class="samp">grep -F</span></samp>’.
+<p>In addition,
+two variant programs <code>egrep</code> and <code>fgrep</code> are available.
+<code>egrep</code> is the same as ‘<samp>grep -E</samp>’.
+<code>fgrep</code> is the same as ‘<samp>grep -F</samp>’.
Direct invocation as either
-<samp><span class="command">egrep</span></samp> or <samp><span
class="command">fgrep</span></samp> is deprecated,
+<code>egrep</code> or <code>fgrep</code> is deprecated,
but is provided to allow historical applications
that rely on them to run unmodified.
+</p>
-<div class="node">
+<hr>
<a name="Regular-Expressions"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Usage">Usage</a>,
-Previous: <a rel="previous" accesskey="p" href="#Invoking">Invoking</a>,
-Up: <a rel="up" accesskey="u" href="#Top">Top</a>
-
+<div class="header">
+<p>
+Next: <a href="#Usage" accesskey="n" rel="next">Usage</a>, Previous: <a
href="#Invoking" accesskey="p" rel="prev">Invoking</a>, Up: <a href="#Top"
accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of
contents" rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Regular-Expressions-1"></a>
<h2 class="chapter">3 Regular Expressions</h2>
+<a name="index-regular-expressions"></a>
-<p><a name="index-regular-expressions-192"></a>
-A <dfn>regular expression</dfn> is a pattern that describes a set of strings.
+<p>A <em>regular expression</em> 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.
-<samp><span class="command">grep</span></samp> understands
+<code>grep</code> understands
three different versions of regular expression syntax:
“basic,” (BRE) “extended” (ERE) and
“perl”.
-In GNU <samp><span class="command">grep</span></samp>,
+In GNU <code>grep</code>,
there is no difference in available functionality between the basic and
extended syntaxes.
In other implementations, basic regular expressions are less powerful.
@@ -954,25 +1367,30 @@
differences for basic regular expressions are summarized afterwards.
Perl regular expressions give additional functionality, and are
documented in the <i>pcresyntax</i>(3) and <i>pcrepattern</i>(3) manual pages,
-but may not be available on every system.
-
-<ul class="menu">
-<li><a accesskey="1" href="#Fundamental-Structure">Fundamental Structure</a>
-<li><a accesskey="2"
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a>
-<li><a accesskey="3"
href="#The-Backslash-Character-and-Special-Expressions">The Backslash Character
and Special Expressions</a>
-<li><a accesskey="4" href="#Anchoring">Anchoring</a>
-<li><a accesskey="5"
href="#Back_002dreferences-and-Subexpressions">Back-references and
Subexpressions</a>
-<li><a accesskey="6" href="#Basic-vs-Extended">Basic vs Extended</a>
-</ul>
+but work only if PCRE is available in the system.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="#Fundamental-Structure"
accesskey="1">Fundamental Structure</a>:</td><td> </td><td
align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#Character-Classes-and-Bracket-Expressions" accesskey="2">Character
Classes and Bracket Expressions</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#The-Backslash-Character-and-Special-Expressions" accesskey="3">The
Backslash Character and Special Expressions</a>:</td><td> </td><td
align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Anchoring"
accesskey="4">Anchoring</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a
href="#Back_002dreferences-and-Subexpressions" accesskey="5">Back-references
and Subexpressions</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="#Basic-vs-Extended"
accesskey="6">Basic vs Extended</a>:</td><td> </td><td align="left"
valign="top">
+</td></tr>
+</table>
-<div class="node">
+<hr>
<a name="Fundamental-Structure"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n"
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a>,
-Up: <a rel="up" accesskey="u" href="#Regular-Expressions">Regular
Expressions</a>
-
+<div class="header">
+<p>
+Next: <a href="#Character-Classes-and-Bracket-Expressions" accesskey="n"
rel="next">Character Classes and Bracket Expressions</a>, Up: <a
href="#Regular-Expressions" accesskey="u" rel="up">Regular Expressions</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Fundamental-Structure-1"></a>
<h3 class="section">3.1 Fundamental Structure</h3>
<p>The fundamental building blocks are the regular expressions that match
@@ -981,616 +1399,782 @@
are regular expressions that match themselves.
Any meta-character
with special meaning may be quoted by preceding it with a backslash.
-
- <p>A regular expression may be followed by one of several
+</p>
+<p>A regular expression may be followed by one of several
repetition operators:
-
- <dl>
-<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-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-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-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-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-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-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.
+</p>
+<dl compact="compact">
+<dt>‘<samp>.</samp>’</dt>
+<dd><a name="index-_002e"></a>
+<a name="index-dot"></a>
+<a name="index-period"></a>
+<p>The period ‘<samp>.</samp>’ matches any single character.
+</p>
+</dd>
+<dt>‘<samp>?</samp>’</dt>
+<dd><a name="index-_003f"></a>
+<a name="index-question-mark"></a>
+<a name="index-match-expression-at-most-once"></a>
+<p>The preceding item is optional and will be matched at most once.
+</p>
+</dd>
+<dt>‘<samp>*</samp>’</dt>
+<dd><a name="index-_002a"></a>
+<a name="index-asterisk"></a>
+<a name="index-match-expression-zero-or-more-times"></a>
+<p>The preceding item will be matched zero or more times.
+</p>
+</dd>
+<dt>‘<samp>+</samp>’</dt>
+<dd><a name="index-_002b"></a>
+<a name="index-plus-sign"></a>
+<a name="index-match-expression-one-or-more-times"></a>
+<p>The preceding item will be matched one or more times.
+</p>
+</dd>
+<dt>‘<samp>{<var>n</var>}</samp>’</dt>
+<dd><a name="index-_007bn_007d"></a>
+<a name="index-braces_002c-one-argument"></a>
+<a name="index-match-expression-n-times"></a>
+<p>The preceding item is matched exactly <var>n</var> times.
+</p>
+</dd>
+<dt>‘<samp>{<var>n</var>,}</samp>’</dt>
+<dd><a name="index-_007bn_002c_007d"></a>
+<a name="index-braces_002c-second-argument-omitted"></a>
+<a name="index-match-expression-n-or-more-times"></a>
+<p>The preceding item is matched <var>n</var> or more times.
+</p>
+</dd>
+<dt>‘<samp>{,<var>m</var>}</samp>’</dt>
+<dd><a name="index-_007b_002cm_007d"></a>
+<a name="index-braces_002c-first-argument-omitted"></a>
+<a name="index-match-expression-at-most-m-times"></a>
+<p>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-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
+</p>
+</dd>
+<dt>‘<samp>{<var>n</var>,<var>m</var>}</samp>’</dt>
+<dd><a name="index-_007bn_002cm_007d"></a>
+<a name="index-braces_002c-two-arguments"></a>
+<a name="index-match-expression-from-n-to-m-times"></a>
+<p>The preceding item is matched at least <var>n</var> times, but not more than
<var>m</var> times.
+</p>
+</dd>
+</dl>
- </dl>
-
- <p>The empty regular expression matches the empty string.
+<p>The empty regular expression matches the empty string.
Two regular expressions may be concatenated;
the resulting regular expression
matches any string formed by concatenating two substrings
that respectively match the concatenated expressions.
-
- <p>Two regular expressions may be joined by the infix operator
‘<samp><span class="samp">|</span></samp>’;
+</p>
+<p>Two regular expressions may be joined by the infix operator
‘<samp>|</samp>’;
the resulting regular expression
matches any string matching either alternate expression.
-
- <p>Repetition takes precedence over concatenation,
+</p>
+<p>Repetition takes precedence over concatenation,
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">
+An unmatched ‘<samp>)</samp>’ matches just itself.
+</p>
+<hr>
<a name="Character-Classes-and-Bracket-Expressions"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n"
href="#The-Backslash-Character-and-Special-Expressions">The Backslash Character
and Special Expressions</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Fundamental-Structure">Fundamental Structure</a>,
-Up: <a rel="up" accesskey="u" href="#Regular-Expressions">Regular
Expressions</a>
-
+<div class="header">
+<p>
+Next: <a href="#The-Backslash-Character-and-Special-Expressions" accesskey="n"
rel="next">The Backslash Character and Special Expressions</a>, Previous: <a
href="#Fundamental-Structure" accesskey="p" rel="prev">Fundamental
Structure</a>, Up: <a href="#Regular-Expressions" accesskey="u"
rel="up">Regular Expressions</a> [<a href="#SEC_Contents" title="Table
of contents" rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Character-Classes-and-Bracket-Expressions-1"></a>
<h3 class="section">3.2 Character Classes and Bracket Expressions</h3>
-<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>’.
+<a name="index-bracket-expression"></a>
+<a name="index-character-class"></a>
+<p>A <em>bracket expression</em> is a list of characters enclosed by
‘<samp>[</samp>’ and
+‘<samp>]</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>’,
+if the first character of the list is the caret ‘<samp>^</samp>’,
then it matches any character <strong>not</strong> in the list.
For example, the regular expression
-‘<samp><span class="samp">[0123456789]</span></samp>’ matches any
single digit.
-
- <p><a name="index-range-expression-219"></a>Within a bracket expression, a
<dfn>range expression</dfn> consists of two
+‘<samp>[0123456789]</samp>’ matches any single digit.
+</p>
+<a name="index-range-expression"></a>
+<p>Within a bracket expression, a <em>range expression</em> consists of two
characters separated by a hyphen.
It matches any single character that
sorts between the two characters, inclusive.
In the default C locale, the sorting sequence is the native character
-order; for example, ‘<samp><span class="samp">[a-d]</span></samp>’
is equivalent to ‘<samp><span class="samp">[abcd]</span></samp>’.
+order; for example, ‘<samp>[a-d]</samp>’ is equivalent to
‘<samp>[abcd]</samp>’.
In other locales, the sorting sequence is not specified, and
-‘<samp><span class="samp">[a-d]</span></samp>’ might be equivalent
to ‘<samp><span class="samp">[abcd]</span></samp>’ or to
-‘<samp><span class="samp">[aBbCcDd]</span></samp>’, or it might
fail to match any character, or the set of
+‘<samp>[a-d]</samp>’ might be equivalent to
‘<samp>[abcd]</samp>’ or to
+‘<samp>[aBbCcDd]</samp>’, or it might fail to match any character,
or the set of
characters that it matches might even be erratic.
To obtain the traditional interpretation
-of bracket expressions, you can use the ‘<samp><span
class="samp">C</span></samp>’ locale by setting the
-<samp><span class="env">LC_ALL</span></samp> environment variable to the value
‘<samp><span class="samp">C</span></samp>’.
-
- <p>Finally, certain named classes of characters are predefined within
+of bracket expressions, you can use the ‘<samp>C</samp>’ locale by
setting the
+<code>LC_ALL</code> environment variable to the value
‘<samp>C</samp>’.
+</p>
+<p>Finally, certain named classes of characters are predefined within
bracket expressions, as follows.
-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
+Their interpretation depends on the <code>LC_CTYPE</code> locale;
+for example, ‘<samp>[[:alnum:]]</samp>’ means the character class
of numbers and letters
in the current locale.
-
- <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-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">[:blank:]</span></samp>’<dd><a
name="index-blank-_0040r_007bcharacter-class_007d-226"></a><a
name="index-blank-characters-227"></a>Blank characters:
+</p>
+<a name="index-classes-of-characters"></a>
+<a name="index-character-classes"></a>
+<dl compact="compact">
+<dt>‘<samp>[:alnum:]</samp>’</dt>
+<dd><a name="index-alnum-character-class"></a>
+<a name="index-alphanumeric-characters"></a>
+<p>Alphanumeric characters:
+‘<samp>[:alpha:]</samp>’ and ‘<samp>[:digit:]</samp>’;
in the ‘<samp>C</samp>’ locale and ASCII
+character encoding, this is the same as ‘<samp>[0-9A-Za-z]</samp>’.
+</p>
+</dd>
+<dt>‘<samp>[:alpha:]</samp>’</dt>
+<dd><a name="index-alpha-character-class"></a>
+<a name="index-alphabetic-characters"></a>
+<p>Alphabetic characters:
+‘<samp>[:lower:]</samp>’ and ‘<samp>[:upper:]</samp>’;
in the ‘<samp>C</samp>’ locale and ASCII
+character encoding, this is the same as ‘<samp>[A-Za-z]</samp>’.
+</p>
+</dd>
+<dt>‘<samp>[:blank:]</samp>’</dt>
+<dd><a name="index-blank-character-class"></a>
+<a name="index-blank-characters"></a>
+<p>Blank characters:
space and tab.
-
- <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.
+</p>
+</dd>
+<dt>‘<samp>[:cntrl:]</samp>’</dt>
+<dd><a name="index-cntrl-character-class"></a>
+<a name="index-control-characters"></a>
+<p>Control characters.
In ASCII, these characters have octal codes 000
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-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-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-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
+</p>
+</dd>
+<dt>‘<samp>[:digit:]</samp>’</dt>
+<dd><a name="index-digit-character-class"></a>
+<a name="index-digit-characters"></a>
+<a name="index-numeric-characters"></a>
+<p>Digits: <code>0 1 2 3 4 5 6 7 8 9</code>.
+</p>
+</dd>
+<dt>‘<samp>[:graph:]</samp>’</dt>
+<dd><a name="index-graph-character-class"></a>
+<a name="index-graphic-characters"></a>
+<p>Graphical characters:
+‘<samp>[:alnum:]</samp>’ and ‘<samp>[:punct:]</samp>’.
+</p>
+</dd>
+<dt>‘<samp>[:lower:]</samp>’</dt>
+<dd><a name="index-lower-character-class"></a>
+<a name="index-lower_002dcase-letters"></a>
+<p>Lower-case letters; in the ‘<samp>C</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-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-239"></a><a
name="index-punctuation-characters-240"></a>Punctuation characters; in the
‘<samp><span class="samp">C</span></samp>’ locale and ASCII
character
+</p>
+</dd>
+<dt>‘<samp>[:print:]</samp>’</dt>
+<dd><a name="index-print-character-class"></a>
+<a name="index-printable-characters"></a>
+<p>Printable characters:
+‘<samp>[:alnum:]</samp>’, ‘<samp>[:punct:]</samp>’,
and space.
+</p>
+</dd>
+<dt>‘<samp>[:punct:]</samp>’</dt>
+<dd><a name="index-punct-character-class"></a>
+<a name="index-punctuation-characters"></a>
+<p>Punctuation characters; in the ‘<samp>C</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-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
+<code>! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` {
| } ~</code>.
+</p>
+</dd>
+<dt>‘<samp>[:space:]</samp>’</dt>
+<dd><a name="index-space-character-class"></a>
+<a name="index-space-characters"></a>
+<a name="index-whitespace-characters"></a>
+<p>Space characters: in the ‘<samp>C</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-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
+</p>
+</dd>
+<dt>‘<samp>[:upper:]</samp>’</dt>
+<dd><a name="index-upper-character-class"></a>
+<a name="index-upper_002dcase-letters"></a>
+<p>Upper-case letters: in the ‘<samp>C</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-246"></a><a
name="index-xdigit-class-247"></a><a
name="index-hexadecimal-digits-248"></a>Hexadecimal digits:
+</p>
+</dd>
+<dt>‘<samp>[:xdigit:]</samp>’</dt>
+<dd><a name="index-xdigit-character-class"></a>
+<a name="index-xdigit-class"></a>
+<a name="index-hexadecimal-digits"></a>
+<p>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>
- Note that the brackets in these class names are
+</p>
+</dd>
+</dl>
+<p>Note that the brackets in these class names are
part of the symbolic names, and must be included in addition to
the brackets delimiting the bracket expression.
-
- <p><a name="invalid_002dbracket_002dexpr"></a>If you mistakenly omit the
outer brackets, and search for say, ‘<samp><span
class="samp">[:upper:]</span></samp>’,
-GNU <samp><span class="command">grep</span></samp> prints a diagnostic and
exits with status 2, on
+</p>
+<a name="invalid_002dbracket_002dexpr"></a><p>If you mistakenly omit the outer
brackets, and search for say, ‘<samp>[:upper:]</samp>’,
+GNU <code>grep</code> 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 <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.
-
- <dl>
-<dt>‘<samp><span class="samp">]</span></samp>’<dd>ends the bracket
expression if it's not the first list item.
-So, if you want to make the ‘<samp><span
class="samp">]</span></samp>’ character a list item,
+equivalent regular expression: ‘<samp>[:epru]</samp>’.
+Set the <code>POSIXLY_CORRECT</code> environment variable to disable this
feature.
+</p>
+<p>Most meta-characters lose their special meaning inside bracket expressions.
+</p>
+<dl compact="compact">
+<dt>‘<samp>]</samp>’</dt>
+<dd><p>ends the bracket expression if it’s not the first list item.
+So, if you want to make the ‘<samp>]</samp>’ character a list item,
you must put it first.
-
- <br><dt>‘<samp><span
class="samp">[.</span></samp>’<dd>represents the open collating symbol.
-
- <br><dt>‘<samp><span
class="samp">.]</span></samp>’<dd>represents the close collating symbol.
-
- <br><dt>‘<samp><span
class="samp">[=</span></samp>’<dd>represents the open equivalence class.
-
- <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
+</p>
+</dd>
+<dt>‘<samp>[.</samp>’</dt>
+<dd><p>represents the open collating symbol.
+</p>
+</dd>
+<dt>‘<samp>.]</samp>’</dt>
+<dd><p>represents the close collating symbol.
+</p>
+</dd>
+<dt>‘<samp>[=</samp>’</dt>
+<dd><p>represents the open equivalence class.
+</p>
+</dd>
+<dt>‘<samp>=]</samp>’</dt>
+<dd><p>represents the close equivalence class.
+</p>
+</dd>
+<dt>‘<samp>[:</samp>’</dt>
+<dd><p>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.
-
- <br><dt>‘<samp><span
class="samp">-</span></samp>’<dd>represents the range if it's not first
or last in a list or the ending point
+</p>
+</dd>
+<dt>‘<samp>:]</samp>’</dt>
+<dd><p>represents the close character class symbol.
+</p>
+</dd>
+<dt>‘<samp>-</samp>’</dt>
+<dd><p>represents the range if it’s not first or last in a list or the
ending point
of a range.
-
- <br><dt>‘<samp><span
class="samp">^</span></samp>’<dd>represents the characters not in the
list.
-If you want to make the ‘<samp><span class="samp">^</span></samp>’
+</p>
+</dd>
+<dt>‘<samp>^</samp>’</dt>
+<dd><p>represents the characters not in the list.
+If you want to make the ‘<samp>^</samp>’
character a list item, place it anywhere but first.
+</p>
+</dd>
+</dl>
- </dl>
-
-<div class="node">
+<hr>
<a name="The-Backslash-Character-and-Special-Expressions"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Anchoring">Anchoring</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a>,
-Up: <a rel="up" accesskey="u" href="#Regular-Expressions">Regular
Expressions</a>
-
+<div class="header">
+<p>
+Next: <a href="#Anchoring" accesskey="n" rel="next">Anchoring</a>, Previous:
<a href="#Character-Classes-and-Bracket-Expressions" accesskey="p"
rel="prev">Character Classes and Bracket Expressions</a>, Up: <a
href="#Regular-Expressions" accesskey="u" rel="up">Regular Expressions</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="The-Backslash-Character-and-Special-Expressions-1"></a>
<h3 class="section">3.3 The Backslash Character and Special Expressions</h3>
+<a name="index-backslash"></a>
-<p><a name="index-backslash-249"></a>
-The ‘<samp><span class="samp">\</span></samp>’ character,
+<p>The ‘<samp>\</samp>’ character,
when followed by certain ordinary characters,
takes a special meaning:
+</p>
+<dl compact="compact">
+<dt>‘<samp>\b</samp>’</dt>
+<dd><p>Match the empty string at the edge of a word.
+</p>
+</dd>
+<dt>‘<samp>\B</samp>’</dt>
+<dd><p>Match the empty string provided it’s not at the edge of a word.
+</p>
+</dd>
+<dt>‘<samp>\<</samp>’</dt>
+<dd><p>Match the empty string at the beginning of word.
+</p>
+</dd>
+<dt>‘<samp>\></samp>’</dt>
+<dd><p>Match the empty string at the end of word.
+</p>
+</dd>
+<dt>‘<samp>\w</samp>’</dt>
+<dd><p>Match word constituent, it is a synonym for
‘<samp>[_[:alnum:]]</samp>’.
+</p>
+</dd>
+<dt>‘<samp>\W</samp>’</dt>
+<dd><p>Match non-word constituent, it is a synonym for
‘<samp>[^_[:alnum:]]</samp>’.
+</p>
+</dd>
+<dt>‘<samp>\s</samp>’</dt>
+<dd><p>Match whitespace, it is a synonym for
‘<samp>[[:space:]]</samp>’.
+</p>
+</dd>
+<dt>‘<samp>\S</samp>’</dt>
+<dd><p>Match non-whitespace, it is a synonym for
‘<samp>[^[:space:]]</samp>’.
+</p>
+</dd>
+</dl>
- <dl>
-<dt>‘<samp><span class="samp">\b</span></samp>’<dd>Match the empty
string at the edge of a word.
-
- <br><dt>‘<samp><span class="samp">\B</span></samp>’<dd>Match
the empty string provided it's not at the edge of a word.
-
- <br><dt>‘<samp><span
class="samp">\<</span></samp>’<dd>Match the empty string at the
beginning of word.
-
- <br><dt>‘<samp><span
class="samp">\></span></samp>’<dd>Match the empty string at the end of
word.
-
- <br><dt>‘<samp><span class="samp">\w</span></samp>’<dd>Match
word constituent, it is a synonym for ‘<samp><span
class="samp">[_[:alnum:]]</span></samp>’.
-
- <br><dt>‘<samp><span class="samp">\W</span></samp>’<dd>Match
non-word constituent, it is a synonym for ‘<samp><span
class="samp">[^_[:alnum:]]</span></samp>’.
-
- <br><dt>‘<samp><span class="samp">\s</span></samp>’<dd>Match
whitespace, it is a synonym for ‘<samp><span
class="samp">[[:space:]]</span></samp>’.
-
- <br><dt>‘<samp><span class="samp">\S</span></samp>’<dd>Match
non-whitespace, it is a synonym for ‘<samp><span
class="samp">[^[:space:]]</span></samp>’.
-
- </dl>
-
- <p>For example, ‘<samp><span
class="samp">\brat\b</span></samp>’ matches the separate word
‘<samp><span class="samp">rat</span></samp>’,
-‘<samp><span class="samp">\Brat\B</span></samp>’ matches
‘<samp><span class="samp">crate</span></samp>’ but not
‘<samp><span class="samp">furry rat</span></samp>’.
-
-<div class="node">
+<p>For example, ‘<samp>\brat\b</samp>’ matches the separate word
‘<samp>rat</samp>’,
+‘<samp>\Brat\B</samp>’ matches ‘<samp>crate</samp>’
but not ‘<samp>furry rat</samp>’.
+</p>
+<hr>
<a name="Anchoring"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n"
href="#Back_002dreferences-and-Subexpressions">Back-references and
Subexpressions</a>,
-Previous: <a rel="previous" accesskey="p"
href="#The-Backslash-Character-and-Special-Expressions">The Backslash Character
and Special Expressions</a>,
-Up: <a rel="up" accesskey="u" href="#Regular-Expressions">Regular
Expressions</a>
-
+<div class="header">
+<p>
+Next: <a href="#Back_002dreferences-and-Subexpressions" accesskey="n"
rel="next">Back-references and Subexpressions</a>, Previous: <a
href="#The-Backslash-Character-and-Special-Expressions" accesskey="p"
rel="prev">The Backslash Character and Special Expressions</a>, Up: <a
href="#Regular-Expressions" accesskey="u" rel="up">Regular Expressions</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Anchoring-1"></a>
<h3 class="section">3.4 Anchoring</h3>
+<a name="index-anchoring"></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
+<p>The caret ‘<samp>^</samp>’ and the dollar sign
‘<samp>$</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”
+They are termed <em>anchors</em>, since they force the match to be
“anchored”
to beginning or end of a line, respectively.
-
-<div class="node">
-<a name="Back-references-and-Subexpressions"></a>
+</p>
+<hr>
<a name="Back_002dreferences-and-Subexpressions"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Basic-vs-Extended">Basic vs
Extended</a>,
-Previous: <a rel="previous" accesskey="p" href="#Anchoring">Anchoring</a>,
-Up: <a rel="up" accesskey="u" href="#Regular-Expressions">Regular
Expressions</a>
-
+<div class="header">
+<p>
+Next: <a href="#Basic-vs-Extended" accesskey="n" rel="next">Basic vs
Extended</a>, Previous: <a href="#Anchoring" accesskey="p"
rel="prev">Anchoring</a>, Up: <a href="#Regular-Expressions" accesskey="u"
rel="up">Regular Expressions</a> [<a href="#SEC_Contents" title="Table
of contents" rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Back_002dreferences-and-Subexpressions-1"></a>
<h3 class="section">3.5 Back-references and Subexpressions</h3>
+<a name="index-subexpression"></a>
+<a name="index-back_002dreference"></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
+<p>The back-reference ‘<samp>\<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.
-For example, ‘<samp><span class="samp">(a)\1</span></samp>’
matches ‘<samp><span class="samp">aa</span></samp>’.
+For example, ‘<samp>(a)\1</samp>’ matches
‘<samp>aa</samp>’.
When used with alternation, if the group does not participate in the match then
the back-reference makes the whole match fail.
-For example, ‘<samp><span class="samp">a(.)|b\1</span></samp>’
-will not match ‘<samp><span class="samp">ba</span></samp>’.
+For example, ‘<samp>a(.)|b\1</samp>’
+will not match ‘<samp>ba</samp>’.
When multiple regular expressions are given with
-<samp><span class="option">-e</span></samp> or from a file (‘<samp><span
class="samp">-f </span><var>file</var></samp>’),
+<samp>-e</samp> or from a file (‘<samp>-f <var>file</var></samp>’),
back-references are local to each expression.
-
-<div class="node">
+</p>
+<hr>
<a name="Basic-vs-Extended"></a>
-<p><hr>
-Previous: <a rel="previous" accesskey="p"
href="#Back_002dreferences-and-Subexpressions">Back-references and
Subexpressions</a>,
-Up: <a rel="up" accesskey="u" href="#Regular-Expressions">Regular
Expressions</a>
-
+<div class="header">
+<p>
+Previous: <a href="#Back_002dreferences-and-Subexpressions" accesskey="p"
rel="prev">Back-references and Subexpressions</a>, Up: <a
href="#Regular-Expressions" accesskey="u" rel="up">Regular Expressions</a>
[<a href="#SEC_Contents" title="Table of contents"
rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Basic-vs-Extended-Regular-Expressions"></a>
<h3 class="section">3.6 Basic vs Extended Regular Expressions</h3>
+<a name="index-basic-regular-expressions"></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-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>’.
-
- <p>GNU <samp><span class="command">grep -E</span></samp> attempts to
support traditional usage by
-assuming that ‘<samp><span class="samp">{</span></samp>’ is not
special if it would be the start of an
+<p>In basic regular expressions the meta-characters
‘<samp>?</samp>’, ‘<samp>+</samp>’,
+‘<samp>{</samp>’, ‘<samp>|</samp>’,
‘<samp>(</samp>’, and ‘<samp>)</samp>’ lose their
special meaning;
+instead use the backslashed versions ‘<samp>\?</samp>’,
‘<samp>\+</samp>’, ‘<samp>\{</samp>’,
+‘<samp>\|</samp>’, ‘<samp>\(</samp>’, and
‘<samp>\)</samp>’.
+</p>
+<a name="index-interval-specifications"></a>
+<p>Traditional <code>egrep</code> did not support the
‘<samp>{</samp>’ meta-character,
+and some <code>egrep</code> implementations support
‘<samp>\{</samp>’ instead, so
+portable scripts should avoid ‘<samp>{</samp>’ in
‘<samp>grep -E</samp>’ patterns and
+should use ‘<samp>[{]</samp>’ to match a literal
‘<samp>{</samp>’.
+</p>
+<p>GNU <code>grep -E</code> attempts to support traditional usage by
+assuming that ‘<samp>{</samp>’ is not special if it would be the
start of an
invalid interval specification.
For example, the command
-‘<samp><span class="samp">grep -E '{1'</span></samp>’ searches for
the two-character string ‘<samp><span class="samp">{1</span></samp>’
+‘<samp>grep -E '{1'</samp>’ searches for the
two-character string ‘<samp>{1</samp>’
instead of reporting a syntax error in the regular expression.
POSIX allows this behavior as an extension, but portable scripts
should avoid it.
+</p>
-<div class="node">
+<hr>
<a name="Usage"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Reporting-Bugs">Reporting
Bugs</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Regular-Expressions">Regular Expressions</a>,
-Up: <a rel="up" accesskey="u" href="#Top">Top</a>
-
+<div class="header">
+<p>
+Next: <a href="#Reporting-Bugs" accesskey="n" rel="next">Reporting Bugs</a>,
Previous: <a href="#Regular-Expressions" accesskey="p" rel="prev">Regular
Expressions</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-
+<a name="Usage-1"></a>
<h2 class="chapter">4 Usage</h2>
-<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>
- <p class="noindent">This lists all lines in the files <samp><span
class="file">menu.h</span></samp> and <samp><span
class="file">main.c</span></samp> that
-contain the string ‘<samp><span class="samp">hello</span></samp>’
followed by the string ‘<samp><span
class="samp">world</span></samp>’;
-this is because ‘<samp><span class="samp">.*</span></samp>’
matches zero or more characters within a line.
+<a name="index-usage_002c-examples"></a>
+<p>Here is an example command that invokes GNU <code>grep</code>:
+</p>
+<div class="example">
+<pre class="example">grep -i 'hello.*world' menu.h main.c
+</pre></div>
+
+<p>This lists all lines in the files <samp>menu.h</samp> and
<samp>main.c</samp> that
+contain the string ‘<samp>hello</samp>’ followed by the string
‘<samp>world</samp>’;
+this is because ‘<samp>.*</samp>’ matches zero or more characters
within a line.
See <a href="#Regular-Expressions">Regular Expressions</a>.
-The <samp><span class="option">-i</span></samp> option causes <samp><span
class="command">grep</span></samp>
-to ignore case, causing it to match the line ‘<samp><span
class="samp">Hello, world!</span></samp>’, which
+The <samp>-i</samp> option causes <code>grep</code>
+to ignore case, causing it to match the line ‘<samp>Hello,
world!</samp>’, which
it would not otherwise match.
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-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>
-
- <li>How can I list just the names of matching files?
-
- <pre class="example"> grep -l 'main' *.c
-</pre>
- <p class="noindent">lists the names of all C files in the current
directory whose contents
-mention ‘<samp><span class="samp">main</span></samp>’.
-
- <li>How do I search directories recursively?
+how to invoke <code>grep</code>.
+</p>
+<a name="index-using-grep_002c-Q_0026A"></a>
+<a name="index-FAQ-about-grep-usage"></a>
+<p>Here are some common questions and answers about <code>grep</code> usage.
+</p>
+<ol>
+<li> How can I list just the names of matching files?
+
+<div class="example">
+<pre class="example">grep -l 'main' *.c
+</pre></div>
+
+<p>lists the names of all C files in the current directory whose contents
+mention ‘<samp>main</samp>’.
+</p>
+</li><li> How do I search directories recursively?
+
+<div class="example">
+<pre class="example">grep -r 'hello' /home/gigi
+</pre></div>
- <pre class="example"> grep -r 'hello' /home/gigi
-</pre>
- <p class="noindent">searches for ‘<samp><span
class="samp">hello</span></samp>’ in all files
-under the <samp><span class="file">/home/gigi</span></samp> directory.
+<p>searches for ‘<samp>hello</samp>’ in all files
+under the <samp>/home/gigi</samp> directory.
For more control over which files are searched,
-use <samp><span class="command">find</span></samp>, <samp><span
class="command">grep</span></samp>, and <samp><span
class="command">xargs</span></samp>.
+use <code>find</code>, <code>grep</code>, and <code>xargs</code>.
For example, the following command searches only C files:
-
- <pre class="example"> find /home/gigi -name '*.c' -print0 |
xargs -0r grep -H 'hello'
-</pre>
- <p>This differs from the command:
-
- <pre class="example"> grep -H 'hello' *.c
-</pre>
- <p>which merely looks for ‘<samp><span
class="samp">hello</span></samp>’ in all files in the current
-directory whose names end in ‘<samp><span
class="samp">.c</span></samp>’.
-The ‘<samp><span class="samp">find ...</span></samp>’ command line
above is more similar to the command:
-
- <pre class="example"> grep -rH --include='*.c' 'hello' /home/gigi
-</pre>
- <li>What if a pattern has a leading ‘<samp><span
class="samp">-</span></samp>’?
-
- <pre class="example"> grep -e '--cut here--' *
-</pre>
- <p class="noindent">searches for all lines matching ‘<samp><span
class="samp">--cut here--</span></samp>’.
-Without <samp><span class="option">-e</span></samp>,
-<samp><span class="command">grep</span></samp> would attempt to parse
‘<samp><span class="samp">--cut here--</span></samp>’ as a list of
+</p>
+<div class="example">
+<pre class="example">find /home/gigi -name '*.c' -print0 | xargs -0r grep -H
'hello'
+</pre></div>
+
+<p>This differs from the command:
+</p>
+<div class="example">
+<pre class="example">grep -H 'hello' *.c
+</pre></div>
+
+<p>which merely looks for ‘<samp>hello</samp>’ in all files in the
current
+directory whose names end in ‘<samp>.c</samp>’.
+The ‘<samp>find ...</samp>’ command line above is more similar to
the command:
+</p>
+<div class="example">
+<pre class="example">grep -rH --include='*.c' 'hello' /home/gigi
+</pre></div>
+
+</li><li> What if a pattern has a leading ‘<samp>-</samp>’?
+
+<div class="example">
+<pre class="example">grep -e '--cut here--' *
+</pre></div>
+
+<p>searches for all lines matching ‘<samp>--cut here--</samp>’.
+Without <samp>-e</samp>,
+<code>grep</code> would attempt to parse ‘<samp>--cut
here--</samp>’ as a list of
options.
+</p>
+</li><li> Suppose I want to search for a whole word, not a part of a word?
- <li>Suppose I want to search for a whole word, not a part of a word?
-
- <pre class="example"> grep -w 'hello' *
-</pre>
- <p class="noindent">searches only for instances of ‘<samp><span
class="samp">hello</span></samp>’ that are entire words;
-it does not match ‘<samp><span
class="samp">Othello</span></samp>’.
-For more control, use ‘<samp><span
class="samp">\<</span></samp>’ and
-‘<samp><span class="samp">\></span></samp>’ to match the start
and end of words.
+<div class="example">
+<pre class="example">grep -w 'hello' *
+</pre></div>
+
+<p>searches only for instances of ‘<samp>hello</samp>’ that are
entire words;
+it does not match ‘<samp>Othello</samp>’.
+For more control, use ‘<samp>\<</samp>’ and
+‘<samp>\></samp>’ to match the start and end of words.
For example:
-
- <pre class="example"> grep 'hello\>' *
-</pre>
- <p class="noindent">searches only for words ending in ‘<samp><span
class="samp">hello</span></samp>’, so it matches the word
-‘<samp><span class="samp">Othello</span></samp>’.
-
- <li>How do I output context around the matching lines?
-
- <pre class="example"> grep -C 2 'hello' *
-</pre>
- <p class="noindent">prints two lines of context around each matching line.
-
- <li>How do I force <samp><span class="command">grep</span></samp> to
print the name of the file?
-
- <p>Append <samp><span class="file">/dev/null</span></samp>:
-
- <pre class="example"> grep 'eli' /etc/passwd /dev/null
-</pre>
- <p>gets you:
-
- <pre class="example"> /etc/passwd:eli:x:2098:1000:Eli
Smith:/home/eli:/bin/bash
-</pre>
- <p>Alternatively, use <samp><span class="option">-H</span></samp>, which
is a GNU extension:
-
- <pre class="example"> grep -H 'eli' /etc/passwd
-</pre>
- <li>Why do people use strange regular expressions on <samp><span
class="command">ps</span></samp> output?
-
- <pre class="example"> ps -ef | grep '[c]ron'
-</pre>
- <p>If the pattern had been written without the square brackets, it would
-have matched not only the <samp><span class="command">ps</span></samp> output
line for <samp><span class="command">cron</span></samp>,
-but also the <samp><span class="command">ps</span></samp> output line for
<samp><span class="command">grep</span></samp>.
+</p>
+<div class="example">
+<pre class="example">grep 'hello\>' *
+</pre></div>
+
+<p>searches only for words ending in ‘<samp>hello</samp>’, so it
matches the word
+‘<samp>Othello</samp>’.
+</p>
+</li><li> How do I output context around the matching lines?
+
+<div class="example">
+<pre class="example">grep -C 2 'hello' *
+</pre></div>
+
+<p>prints two lines of context around each matching line.
+</p>
+</li><li> How do I force <code>grep</code> to print the name of the file?
+
+<p>Append <samp>/dev/null</samp>:
+</p>
+<div class="example">
+<pre class="example">grep 'eli' /etc/passwd /dev/null
+</pre></div>
+
+<p>gets you:
+</p>
+<div class="example">
+<pre class="example">/etc/passwd:eli:x:2098:1000:Eli Smith:/home/eli:/bin/bash
+</pre></div>
+
+<p>Alternatively, use <samp>-H</samp>, which is a GNU extension:
+</p>
+<div class="example">
+<pre class="example">grep -H 'eli' /etc/passwd
+</pre></div>
+
+</li><li> Why do people use strange regular expressions on <code>ps</code>
output?
+
+<div class="example">
+<pre class="example">ps -ef | grep '[c]ron'
+</pre></div>
+
+<p>If the pattern had been written without the square brackets, it would
+have matched not only the <code>ps</code> output line for <code>cron</code>,
+but also the <code>ps</code> output line for <code>grep</code>.
Note that on some platforms,
-<samp><span class="command">ps</span></samp> limits the output to the width of
the screen;
-<samp><span class="command">grep</span></samp> does not have any limit on the
length of a line
+<code>ps</code> limits the output to the width of the screen;
+<code>grep</code> does not have any limit on the length of a line
except the available memory.
+</p>
+</li><li> Why does <code>grep</code> report “Binary file matches”?
- <li>Why does <samp><span class="command">grep</span></samp> report
“Binary file matches”?
-
- <p>If <samp><span class="command">grep</span></samp> listed all matching
“lines” from a binary file, it
+<p>If <code>grep</code> listed all matching “lines” from a binary
file, it
would probably generate output that is not useful, and it might even
muck up your display.
-So GNU <samp><span class="command">grep</span></samp> suppresses output from
+So GNU <code>grep</code> suppresses output from
files that appear to be binary files.
-To force GNU <samp><span class="command">grep</span></samp>
+To force GNU <code>grep</code>
to output lines even from files that appear to be binary, use the
-<samp><span class="option">-a</span></samp> or ‘<samp><span
class="samp">--binary-files=text</span></samp>’ option.
+<samp>-a</samp> or ‘<samp>--binary-files=text</samp>’ option.
To eliminate the
-“Binary file matches” messages, use the <samp><span
class="option">-I</span></samp> or
-‘<samp><span
class="samp">--binary-files=without-match</span></samp>’ option.
-
- <li>Why doesn't ‘<samp><span class="samp">grep
-lv</span></samp>’ print non-matching file names?
+“Binary file matches” messages, use the <samp>-I</samp> or
+‘<samp>--binary-files=without-match</samp>’ option.
+</p>
+</li><li> Why doesn’t ‘<samp>grep -lv</samp>’ print
non-matching file names?
- <p>‘<samp><span class="samp">grep -lv</span></samp>’ lists
the names of all files containing one or more
+<p>‘<samp>grep -lv</samp>’ lists the names of all files containing
one or more
lines that do not match.
To list the names of all files that contain no
-matching lines, use the <samp><span class="option">-L</span></samp> or
<samp><span class="option">--files-without-match</span></samp>
+matching lines, use the <samp>-L</samp> or <samp>--files-without-match</samp>
option.
+</p>
+</li><li> I can do “OR” with ‘<samp>|</samp>’, but
what about “AND”?
- <li>I can do “OR” with ‘<samp><span
class="samp">|</span></samp>’, but what about “AND”?
+<div class="example">
+<pre class="example">grep 'paul' /etc/motd | grep 'franc,ois'
+</pre></div>
+
+<p>finds all lines that contain both ‘<samp>paul</samp>’ and
‘<samp>franc,ois</samp>’.
+</p>
+</li><li> Why does the empty pattern match every input line?
- <pre class="example"> grep 'paul' /etc/motd | grep 'franc,ois'
-</pre>
- <p class="noindent">finds all lines that contain both ‘<samp><span
class="samp">paul</span></samp>’ and ‘<samp><span
class="samp">franc,ois</span></samp>’.
-
- <li>Why does the empty pattern match every input line?
-
- <p>The <samp><span class="command">grep</span></samp> command searches
for lines that contain strings
+<p>The <code>grep</code> command searches for lines that contain strings
that match a pattern. Every line contains the empty string, so an
-empty pattern causes <samp><span class="command">grep</span></samp> to find a
match on each line. It
-is not the only such pattern: ‘<samp><span
class="samp">^</span></samp>’, ‘<samp><span
class="samp">$</span></samp>’, ‘<samp><span
class="samp">.*</span></samp>’, and many
-other patterns cause <samp><span class="command">grep</span></samp> to match
every line.
-
- <p>To match empty lines, use the pattern ‘<samp><span
class="samp">^$</span></samp>’. To match blank
-lines, use the pattern ‘<samp><span
class="samp">^[[:blank:]]*$</span></samp>’. To match no lines at
-all, use the command ‘<samp><span class="samp">grep -f
/dev/null</span></samp>’.
+empty pattern causes <code>grep</code> to find a match on each line. It
+is not the only such pattern: ‘<samp>^</samp>’,
‘<samp>$</samp>’, ‘<samp>.*</samp>’, and many
+other patterns cause <code>grep</code> to match every line.
+</p>
+<p>To match empty lines, use the pattern ‘<samp>^$</samp>’. To
match blank
+lines, use the pattern ‘<samp>^[[:blank:]]*$</samp>’. To match no
lines at
+all, use the command ‘<samp>grep -f /dev/null</samp>’.
+</p>
+</li><li> How can I search in both standard input and in files?
+
+<p>Use the special file name ‘<samp>-</samp>’:
+</p>
+<div class="example">
+<pre class="example">cat /etc/passwd | grep 'alain' - /etc/motd
+</pre></div>
- <li>How can I search in both standard input and in files?
+</li><li> <a name="index-palindromes"></a>
+How to express palindromes in a regular expression?
- <p>Use the special file name ‘<samp><span
class="samp">-</span></samp>’:
-
- <pre class="example"> cat /etc/passwd | grep 'alain' - /etc/motd
-</pre>
- <li><a name="index-palindromes-258"></a>How to express palindromes in a
regular expression?
-
- <p>It can be done by using back-references;
+<p>It can be done by using back-references;
for example,
a palindrome of 4 characters can be written with a BRE:
-
- <pre class="example"> grep -w -e '\(.\)\(.\).\2\1' file
-</pre>
- <p>It matches the word “radar” or “civic.”
-
- <p>Guglielmo Bondioni proposed a single RE
+</p>
+<div class="example">
+<pre class="example">grep -w -e '\(.\)\(.\).\2\1' file
+</pre></div>
+
+<p>It matches the word “radar” or “civic.”
+</p>
+<p>Guglielmo Bondioni proposed a single RE
that finds all palindromes up to 19 characters long
-using 9 subexpressions<!-- /@w --> and 9 back-references<!-- /@w -->:
+using 9 subexpressions<!-- /@w --> and 9 <span
class="nolinebreak">back-references</span><!-- /@w -->:
+</p>
+<div class="smallexample">
+<pre class="smallexample">grep -E -e
'^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\9\8\7\6\5\4\3\2\1$' file
+</pre></div>
+
+<p>Note this is done by using GNU ERE extensions;
+it might not be portable to other implementations of <code>grep</code>.
+</p>
+</li><li> Why is this back-reference failing?
+
+<div class="example">
+<pre class="example">echo 'ba' | grep -E '(a)\1|b\1'
+</pre></div>
- <pre class="smallexample"> grep -E -e
'^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\9\8\7\6\5\4\3\2\1$' file
-</pre>
- <p>Note this is done by using GNU ERE extensions;
-it might not be portable to other implementations of <samp><span
class="command">grep</span></samp>.
-
- <li>Why is this back-reference failing?
-
- <pre class="example"> echo 'ba' | grep -E '(a)\1|b\1'
-</pre>
- <p>This gives no output, because the first alternate ‘<samp><span
class="samp">(a)\1</span></samp>’ does not match,
-as there is no ‘<samp><span class="samp">aa</span></samp>’ in the
input, so the ‘<samp><span class="samp">\1</span></samp>’ in the
second alternate
+<p>This gives no output, because the first alternate
‘<samp>(a)\1</samp>’ does not match,
+as there is no ‘<samp>aa</samp>’ in the input, so the
‘<samp>\1</samp>’ in the second alternate
has nothing to refer back to, meaning it will never match anything.
(The second alternate in this example can only match
if the first alternate has matched—making the second one superfluous.)
+</p>
+</li><li> How can I match across lines?
- <li>How can I match across lines?
-
- <p>Standard grep cannot do this, as it is fundamentally line-based.
+<p>Standard grep cannot do this, as it is fundamentally line-based.
Therefore, merely using the <code>[:space:]</code> character class does not
match newlines in the way you might expect.
-
- <p>With the GNU <samp><span class="command">grep</span></samp> option
<samp><span class="option">-z</span></samp> (<samp><span
class="option">--null-data</span></samp>), each
+</p>
+<p>With the GNU <code>grep</code> option <samp>-z</samp>
(<samp>--null-data</samp>), each
input “line” is terminated by a null byte; see <a
href="#Other-Options">Other Options</a>. Thus,
you can match newlines in the input, but typically if there is a match
the entire input is output, so this usage is often combined with
-output-suppressing options like <samp><span class="option">-q</span></samp>,
e.g.:
-
- <pre class="example"> printf 'foo\nbar\n' | grep -z -q
'foo[[:space:]]\+bar'
-</pre>
- <p>If this does not suffice, you can transform the input
-before giving it to <samp><span class="command">grep</span></samp>, or turn to
<samp><span class="command">awk</span></samp>,
-<samp><span class="command">sed</span></samp>, <samp><span
class="command">perl</span></samp>, or many other utilities that are
+output-suppressing options like <samp>-q</samp>, e.g.:
+</p>
+<div class="example">
+<pre class="example">printf 'foo\nbar\n' | grep -z -q 'foo[[:space:]]\+bar'
+</pre></div>
+
+<p>If this does not suffice, you can transform the input
+before giving it to <code>grep</code>, or turn to <code>awk</code>,
+<code>sed</code>, <code>perl</code>, or many other utilities that are
designed to operate across lines.
+</p>
+</li><li> What do <code>grep</code>, <code>fgrep</code>, and
<code>egrep</code> stand for?
- <li>What do <samp><span class="command">grep</span></samp>, <samp><span
class="command">fgrep</span></samp>, and <samp><span
class="command">egrep</span></samp> stand for?
-
- <p>The name <samp><span class="command">grep</span></samp> comes from the
way line editing was done on Unix.
+<p>The name <code>grep</code> comes from the way line editing was done on Unix.
For example,
-<samp><span class="command">ed</span></samp> uses the following syntax
+<code>ed</code> uses the following syntax
to print a list of matching lines on the screen:
+</p>
+<div class="example">
+<pre class="example">global/regular expression/print
+g/re/p
+</pre></div>
+
+<p><code>fgrep</code> stands for Fixed <code>grep</code>;
+<code>egrep</code> stands for Extended <code>grep</code>.
+</p>
+</li></ol>
- <pre class="example"> global/regular expression/print
- g/re/p
-</pre>
- <p><samp><span class="command">fgrep</span></samp> stands for Fixed
<samp><span class="command">grep</span></samp>;
-<samp><span class="command">egrep</span></samp> stands for Extended
<samp><span class="command">grep</span></samp>.
- </ol>
-
-<div class="node">
+<hr>
<a name="Reporting-Bugs"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Copying">Copying</a>,
-Previous: <a rel="previous" accesskey="p" href="#Usage">Usage</a>,
-Up: <a rel="up" accesskey="u" href="#Top">Top</a>
-
+<div class="header">
+<p>
+Next: <a href="#Copying" accesskey="n" rel="next">Copying</a>, Previous: <a
href="#Usage" accesskey="p" rel="prev">Usage</a>, Up: <a href="#Top"
accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents" title="Table of
contents" rel="contents">Contents</a>][<a href="#Index" title="Index"
rel="index">Index</a>]</p>
</div>
-
+<a name="Reporting-bugs"></a>
<h2 class="chapter">5 Reporting bugs</h2>
-<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>.
+<a name="index-bugs_002c-reporting"></a>
+<p>Bug reports can be found at the
+<a href="http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep">GNU bug report
logs for <code>grep</code></a>.
If you find a bug not listed there, please email it to
<a href="mailto:address@hidden">address@hidden</a> to create a new bug report.
-
+</p>
+<a name="Known-Bugs"></a>
<h3 class="section">5.1 Known Bugs</h3>
+<a name="index-Bugs_002c-known"></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.
+<p>Large repetition counts in the ‘<samp>{n,m}</samp>’ construct
may cause
+<code>grep</code> to use lots of memory.
In addition, certain other
obscure regular expressions require exponential time and
-space, and may cause <samp><span class="command">grep</span></samp> to run out
of memory.
-
- <p>Back-references are very slow, and may require exponential time.
+space, and may cause <code>grep</code> to run out of memory.
+</p>
+<p>Back-references are very slow, and may require exponential time.
+</p>
-<div class="node">
+<hr>
<a name="Copying"></a>
-<p><hr>
-Next: <a rel="next" accesskey="n" href="#Index">Index</a>,
-Previous: <a rel="previous" accesskey="p"
href="#Reporting-Bugs">Reporting Bugs</a>,
-Up: <a rel="up" accesskey="u" href="#Top">Top</a>
-
+<div class="header">
+<p>
+Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a
href="#Reporting-Bugs" accesskey="p" rel="prev">Reporting Bugs</a>, Up: <a
href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Index"
title="Index" rel="index">Index</a>]</p>
</div>
-
+<a name="Copying-1"></a>
<h2 class="chapter">6 Copying</h2>
+<a name="index-copying"></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>.
-
- <p>The “free” in “free software” refers to liberty,
not price. As
+<p>GNU <code>grep</code> is licensed under the GNU GPL, which makes it <em>free
+software</em>.
+</p>
+<p>The “free” in “free software” refers to liberty,
not price. As
some GNU project advocates like to point out, think of “free
speech”
rather than “free beer”. In short, you have the right (freedom) to
-run and change <samp><span class="command">grep</span></samp> and distribute
it to other people, and—if you
+run and change <code>grep</code> and distribute it to other people,
and—if you
want—charge money for doing either. The important restriction is
that you have to grant your recipients the same rights and impose the
same restrictions.
-
- <p>This general method of licensing software is sometimes called
-<dfn>open source</dfn>. The GNU project prefers the term “free
software”
+</p>
+<p>This general method of licensing software is sometimes called
+<em>open source</em>. The GNU project prefers the term “free
software”
for reasons outlined at
<a
href="http://www.gnu.org/philosophy/open-source-misses-the-point.html">http://www.gnu.org/philosophy/open-source-misses-the-point.html</a>.
-
- <p>This manual is free documentation in the same sense. The
+</p>
+<p>This manual is free documentation in the same sense. The
documentation license is included below. The license for the program
is available with the source code, or at
<a
href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a
href="#GNU-Free-Documentation-License" accesskey="1">GNU Free Documentation
License</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
-<ul class="menu">
-<li><a accesskey="1" href="#GNU-Free-Documentation-License">GNU Free
Documentation License</a>
-</ul>
-
-<div class="node">
+<hr>
<a name="GNU-Free-Documentation-License"></a>
-<p><hr>
-Up: <a rel="up" accesskey="u" href="#Copying">Copying</a>
+<div class="header">
+<p>
+Up: <a href="#Copying" accesskey="u" rel="up">Copying</a> [<a
href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a
href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="GNU-Free-Documentation-License-1"></a>
+<h3 class="section">6.1 GNU Free Documentation License</h3>
+<div align="center">Version 1.3, 3 November 2008
</div>
-<h3 class="section">6.1 GNU Free Documentation License</h3>
+<div class="display">
+<pre class="display">Copyright © 2000, 2001, 2002, 2007, 2008 Free
Software Foundation, Inc.
+<a href="http://fsf.org/">http://fsf.org/</a>
-<!-- The GNU Free Documentation License. -->
-<div align="center">Version 1.3, 3 November 2008</div>
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+</pre></div>
-<!-- This file is intended to be included within another document, -->
-<!-- hence no sectioning command or @node. -->
-<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
- of this license document, but changing it is not allowed.
-</pre>
- <ol type=1 start=0>
-<li>PREAMBLE
+<ol>
+<li> PREAMBLE
- <p>The purpose of this License is to make a manual, textbook, or other
-functional and useful document <dfn>free</dfn> in the sense of freedom: to
+<p>The purpose of this License is to make a manual, textbook, or other
+functional and useful document <em>free</em> in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
-
- <p>This License is a kind of “copyleft”, which means that
derivative
+</p>
+<p>This License is a kind of “copyleft”, which means that
derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
-
- <p>We have designed this License in order to use it for manuals for free
+</p>
+<p>We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
+</p>
+</li><li> APPLICABILITY AND DEFINITIONS
- <li>APPLICABILITY AND DEFINITIONS
-
- <p>This License applies to any manual or other work, in any medium, that
+<p>This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
@@ -1599,14 +2183,14 @@
licensee, and is addressed as “you”. You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
-
- <p>A “Modified Version” of the Document means any work
containing the
+</p>
+<p>A “Modified Version” of the Document means any work containing
the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
-
- <p>A “Secondary Section” is a named appendix or a
front-matter section
+</p>
+<p>A “Secondary Section” is a named appendix or a front-matter
section
of the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
+publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain
@@ -1614,21 +2198,21 @@
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
-
- <p>The “Invariant Sections” are certain Secondary Sections
whose titles
+</p>
+<p>The “Invariant Sections” are certain Secondary Sections whose
titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
-
- <p>The “Cover Texts” are certain short passages of text that
are listed,
+</p>
+<p>The “Cover Texts” are certain short passages of text that are
listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
- <p>A “Transparent” copy of the Document means a
machine-readable copy,
+</p>
+<p>A “Transparent” copy of the Document means a machine-readable
copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
@@ -1640,8 +2224,8 @@
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not “Transparent” is called
“Opaque”.
-
- <p>Examples of suitable formats for Transparent copies include plain
+</p>
+<p>Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input
format, SGML or XML using a publicly available
DTD, and standard-conforming simple HTML,
@@ -1653,35 +2237,35 @@
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,
+</p>
+<p>The “Title Page” means, for a printed book, the title page
itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, “Title Page”
means
-the text near the most prominent appearance of the work's title,
+the text near the most prominent appearance of the work’s title,
preceding the beginning of the body of the text.
-
- <p>The “publisher” means any person or entity that
distributes copies
+</p>
+<p>The “publisher” means any person or entity that distributes
copies
of the Document to the public.
-
- <p>A section “Entitled XYZ” means a named subunit of the
Document whose
+</p>
+<p>A section “Entitled XYZ” means a named subunit of the Document
whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as “Acknowledgements”,
“Dedications”, “Endorsements”, or
“History”.) To “Preserve the Title”
of such a section when you modify the Document means that it remains a
section “Entitled XYZ” according to this definition.
-
- <p>The Document may include Warranty Disclaimers next to the notice which
+</p>
+<p>The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
+</p>
+</li><li> VERBATIM COPYING
- <li>VERBATIM COPYING
-
- <p>You may copy and distribute the Document in any medium, either
+<p>You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
@@ -1690,15 +2274,15 @@
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
-
- <p>You may also lend copies, under the same conditions stated above, and
+</p>
+<p>You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
+</p>
+</li><li> COPYING IN QUANTITY
- <li>COPYING IN QUANTITY
-
- <p>If you publish printed copies (or copies in media that commonly have
+<p>If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
+Document’s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
@@ -1708,13 +2292,13 @@
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
-
- <p>If the required texts for either cover are too voluminous to fit
+</p>
+<p>If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
-
- <p>If you publish or distribute Opaque copies of the Document numbering
+</p>
+<p>If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
@@ -1726,51 +2310,51 @@
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
-
- <p>It is requested, but not required, that you contact the authors of the
+</p>
+<p>It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
+</p>
+</li><li> MODIFICATIONS
- <li>MODIFICATIONS
-
- <p>You may copy and distribute a Modified Version of the Document under
+<p>You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
-
- <ol type=A start=1>
-<li>Use in the Title Page (and on the covers, if any) a title distinct
+</p>
+<ol>
+<li> Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
- <li>List on the Title Page, as authors, one or more persons or
entities
+</li><li> List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
- <li>State on the Title page the name of the publisher of the
+</li><li> State on the Title page the name of the publisher of the
Modified Version, as the publisher.
- <li>Preserve all the copyright notices of the Document.
+</li><li> Preserve all the copyright notices of the Document.
- <li>Add an appropriate copyright notice for your modifications
+</li><li> Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
- <li>Include, immediately after the copyright notices, a license
notice
+</li><li> Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
- <li>Preserve in that license notice the full lists of Invariant
Sections
-and required Cover Texts given in the Document's license notice.
+</li><li> Preserve in that license notice the full lists of Invariant Sections
+and required Cover Texts given in the Document’s license notice.
- <li>Include an unaltered copy of this License.
+</li><li> Include an unaltered copy of this License.
- <li>Preserve the section Entitled “History”, Preserve
its Title, and add
+</li><li> Preserve the section Entitled “History”, Preserve its
Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled “History” in the Document, create one
@@ -1778,7 +2362,7 @@
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
- <li>Preserve the network location, if any, given in the Document for
+</li><li> Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the “History” section.
@@ -1786,38 +2370,38 @@
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
- <li>For any section Entitled “Acknowledgements” or
“Dedications”, Preserve
+</li><li> For any section Entitled “Acknowledgements” or
“Dedications”, Preserve
the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/or
dedications given therein.
- <li>Preserve all the Invariant Sections of the Document,
+</li><li> Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
- <li>Delete any section Entitled “Endorsements”. Such a
section
+</li><li> Delete any section Entitled “Endorsements”. Such a
section
may not be included in the Modified Version.
- <li>Do not retitle any existing section to be Entitled
“Endorsements” or
+</li><li> Do not retitle any existing section to be Entitled
“Endorsements” or
to conflict in title with any Invariant Section.
- <li>Preserve any Warranty Disclaimers.
- </ol>
+</li><li> Preserve any Warranty Disclaimers.
+</li></ol>
- <p>If the Modified Version includes new front-matter sections or
+<p>If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
+list of Invariant Sections in the Modified Version’s license notice.
These titles must be distinct from any other section titles.
-
- <p>You may add a section Entitled “Endorsements”, provided it
contains
+</p>
+<p>You may add a section Entitled “Endorsements”, provided it
contains
nothing but endorsements of your Modified Version by various
parties—for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
-
- <p>You may add a passage of up to five words as a Front-Cover Text, and a
+</p>
+<p>You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
@@ -1826,21 +2410,21 @@
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
-
- <p>The author(s) and publisher(s) of the Document do not by this License
+</p>
+<p>The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
+</p>
+</li><li> COMBINING DOCUMENTS
- <li>COMBINING DOCUMENTS
-
- <p>You may combine the Document with other documents released under this
+<p>You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
-
- <p>The combined work need only contain one copy of this License, and
+</p>
+<p>The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
@@ -1848,48 +2432,48 @@
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
-
- <p>In the combination, you must combine any sections Entitled
“History”
+</p>
+<p>In the combination, you must combine any sections Entitled
“History”
in the various original documents, forming one section Entitled
“History”; likewise combine any sections Entitled
“Acknowledgements”,
and any sections Entitled “Dedications”. You must delete all
sections Entitled “Endorsements.”
+</p>
+</li><li> COLLECTIONS OF DOCUMENTS
- <li>COLLECTIONS OF DOCUMENTS
-
- <p>You may make a collection consisting of the Document and other
documents
+<p>You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
-
- <p>You may extract a single document from such a collection, and
distribute
+</p>
+<p>You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
+</p>
+</li><li> AGGREGATION WITH INDEPENDENT WORKS
- <li>AGGREGATION WITH INDEPENDENT WORKS
-
- <p>A compilation of the Document or its derivatives with other separate
+<p>A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an “aggregate” if the copyright
resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
+of the compilation’s users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
-
- <p>If the Cover Text requirement of section 3 is applicable to these
+</p>
+<p>If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
+the entire aggregate, the Document’s Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
+</p>
+</li><li> TRANSLATION
- <li>TRANSLATION
-
- <p>Translation is considered a kind of modification, so you may
+<p>Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
@@ -1901,48 +2485,48 @@
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
-
- <p>If a section in the Document is Entitled
“Acknowledgements”,
+</p>
+<p>If a section in the Document is Entitled “Acknowledgements”,
“Dedications”, or “History”, the requirement (section
4) to Preserve
its Title (section 1) will typically require changing the actual
title.
+</p>
+</li><li> TERMINATION
- <li>TERMINATION
-
- <p>You may not copy, modify, sublicense, or distribute the Document
+<p>You may not copy, modify, sublicense, or distribute the Document
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, or distribute it is void, and
will automatically terminate your rights under this License.
-
- <p>However, if you cease all violation of this License, then your license
+</p>
+<p>However, if you cease all violation of this License, then your license
from a particular copyright holder is reinstated (a) provisionally,
unless and until the copyright holder explicitly and finally
terminates your license, and (b) permanently, if the copyright holder
fails to notify you of the violation by some reasonable means prior to
60 days after the cessation.
-
- <p>Moreover, your license from a particular copyright holder is
+</p>
+<p>Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
-
- <p>Termination of your rights under this section does not terminate the
+</p>
+<p>Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, receipt of a copy of some or all of the same material does
not give you any rights to use it.
+</p>
+</li><li> FUTURE REVISIONS OF THIS LICENSE
- <li>FUTURE REVISIONS OF THIS LICENSE
-
- <p>The Free Software Foundation may publish new, revised versions
+<p>The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
-
- <p>Each version of the License is given a distinguishing version number.
+</p>
+<p>Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License “or any later version” applies to it, you have the option
of
following the terms and conditions either of that specified version or
@@ -1951,47 +2535,49 @@
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation. If the Document
specifies that a proxy can decide which future versions of this
-License can be used, that proxy's public statement of acceptance of a
+License can be used, that proxy’s public statement of acceptance of a
version permanently authorizes you to choose that version for the
Document.
+</p>
+</li><li> RELICENSING
- <li>RELICENSING
-
- <p>“Massive Multiauthor Collaboration Site” (or “MMC
Site”) means any
+<p>“Massive Multiauthor Collaboration Site” (or “MMC
Site”) means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server. A
“Massive Multiauthor Collaboration” (or “MMC”)
contained in the
site means any set of copyrightable works thus published on the MMC
site.
-
- <p>“CC-BY-SA” means the Creative Commons Attribution-Share
Alike 3.0
+</p>
+<p>“CC-BY-SA” means the Creative Commons Attribution-Share Alike
3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.
-
- <p>“Incorporate” means to publish or republish a Document, in
whole or
+</p>
+<p>“Incorporate” means to publish or republish a Document, in
whole or
in part, as part of another Document.
-
- <p>An MMC is “eligible for relicensing” if it is licensed
under this
+</p>
+<p>An MMC is “eligible for relicensing” if it is licensed under
this
License, and if all works that were first published under this License
somewhere other than this MMC, and subsequently incorporated in whole
or in part into the MMC, (1) had no cover texts or invariant sections,
and (2) were thus incorporated prior to November 1, 2008.
-
- <p>The operator of an MMC Site may republish an MMC contained in the site
+</p>
+<p>The operator of an MMC Site may republish an MMC contained in the site
under CC-BY-SA on the same site at any time before August 1, 2009,
provided the MMC is eligible for relicensing.
+</p>
+</li></ol>
- </ol>
-
+<a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a>
<h3 class="heading">ADDENDUM: How to use this License for your documents</h3>
<p>To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
-
+</p>
+<div class="smallexample">
<pre class="smallexample"> Copyright (C) <var>year</var> <var>your
name</var>.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
@@ -1999,289 +2585,498 @@
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
-</pre>
- <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the “with<small class="dots">...</small>Texts.” line with
this:
+</pre></div>
+<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the “with…Texts.” line with this:
+</p>
+<div class="smallexample">
<pre class="smallexample"> with the Invariant Sections being <var>list
their titles</var>, with
the Front-Cover Texts being <var>list</var>, and with the Back-Cover
Texts
being <var>list</var>.
-</pre>
- <p>If you have Invariant Sections without Cover Texts, or some other
+</pre></div>
+
+<p>If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
-
- <p>If your document contains nontrivial examples of program code, we
+</p>
+<p>If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
+</p>
-<!-- Local Variables: -->
-<!-- ispell-local-pdict: "ispell-dict" -->
-<!-- End: -->
-<div class="node">
-<a name="Index"></a>
-<p><hr>
-Previous: <a rel="previous" accesskey="p" href="#Copying">Copying</a>,
-Up: <a rel="up" accesskey="u" href="#Top">Top</a>
+<hr>
+<a name="Index"></a>
+<div class="header">
+<p>
+Previous: <a href="#Copying" accesskey="p" rel="prev">Copying</a>, Up: <a
href="#Top" accesskey="u" rel="up">Top</a> [<a href="#SEC_Contents"
title="Table of contents" rel="contents">Contents</a>][<a href="#Index"
title="Index" rel="index">Index</a>]</p>
</div>
-
+<a name="Index-1"></a>
<h2 class="unnumbered">Index</h2>
-<ul class="index-cp" compact>
-<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-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>
-<li><a
href="#index-g_t_002d_002dbyte_002doffset-53"><code>--byte-offset</code></a>:
<a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a href="#index-g_t_002d_002dcolor-30"><code>--color</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a href="#index-g_t_002d_002dcolour-31"><code>--colour</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a href="#index-g_t_002d_002dcontext-85"><code>--context</code></a>: <a
href="#Context-Line-Control">Context Line Control</a></li>
-<li><a href="#index-g_t_002d_002dcount-28"><code>--count</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a
href="#index-g_t_002d_002ddereference_002drecursive-122"><code>--dereference-recursive</code></a>:
<a href="#File-and-Directory-Selection">File and Directory Selection</a></li>
-<li><a href="#index-g_t_002d_002ddevices-99"><code>--devices</code></a>: <a
href="#File-and-Directory-Selection">File and Directory Selection</a></li>
-<li><a
href="#index-g_t_002d_002ddirectories-102"><code>--directories</code></a>: <a
href="#File-and-Directory-Selection">File and Directory Selection</a></li>
-<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-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-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>
-<li><a href="#index-g_t_002d_002dinclude-113"><code>--include</code></a>: <a
href="#File-and-Directory-Selection">File and Directory Selection</a></li>
-<li><a
href="#index-g_t_002d_002dinitial_002dtab-67"><code>--initial-tab</code></a>:
<a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a
href="#index-g_t_002d_002dinvert_002dmatch-18"><code>--invert-match</code></a>:
<a href="#Matching-Control">Matching Control</a></li>
-<li><a href="#index-g_t_002d_002dlabel-61"><code>--label</code></a>: <a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a
href="#index-g_t_002d_002dline_002dbuffered-126"><code>--line-buffered</code></a>:
<a href="#Other-Options">Other Options</a></li>
-<li><a
href="#index-g_t_002d_002dline_002dnumber-64"><code>--line-number</code></a>:
<a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a
href="#index-g_t_002d_002dline_002dregexp-25"><code>--line-regexp</code></a>:
<a href="#Matching-Control">Matching Control</a></li>
-<li><a
href="#index-g_t_002d_002dmax_002dcount-40"><code>--max-count</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a
href="#index-g_t_002d_002dno_002dfilename-59"><code>--no-filename</code></a>:
<a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a
href="#index-g_t_002d_002dno_002dmessages-50"><code>--no-messages</code></a>:
<a href="#General-Output-Control">General Output Control</a></li>
-<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-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>
-<li><a href="#index-g_t_002d_002dsilent-47"><code>--silent</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a href="#index-g_t_002d_002dtext-93"><code>--text</code></a>: <a
href="#File-and-Directory-Selection">File and Directory Selection</a></li>
-<li><a
href="#index-g_t_002d_002dunix_002dbyte_002doffsets-70"><code>--unix-byte-offsets</code></a>:
<a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a href="#index-g_t_002d_002dversion-5"><code>--version</code></a>: <a
href="#Generic-Program-Information">Generic Program Information</a></li>
-<li><a
href="#index-g_t_002d_002dwith_002dfilename-56"><code>--with-filename</code></a>:
<a href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a
href="#index-g_t_002d_002dword_002dregexp-22"><code>--word-regexp</code></a>:
<a href="#Matching-Control">Matching Control</a></li>
-<li><a href="#index-g_t_002da-92"><code>-a</code></a>: <a
href="#File-and-Directory-Selection">File and Directory Selection</a></li>
-<li><a href="#index-g_t_002dA-76"><code>-A</code></a>: <a
href="#Context-Line-Control">Context Line Control</a></li>
-<li><a href="#index-g_t_002dB-80"><code>-B</code></a>: <a
href="#Context-Line-Control">Context Line Control</a></li>
-<li><a href="#index-g_t_002db-52"><code>-b</code></a>: <a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a href="#index-g_t_002dC-84"><code>-C</code></a>: <a
href="#Context-Line-Control">Context Line Control</a></li>
-<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-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-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-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>
-<li><a href="#index-g_t_002dl-36"><code>-l</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a href="#index-g_t_002dL-33"><code>-L</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a href="#index-g_t_002dm-39"><code>-m</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<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-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>
-<li><a href="#index-g_t_002ds-49"><code>-s</code></a>: <a
href="#General-Output-Control">General Output Control</a></li>
-<li><a href="#index-g_t_002dT-66"><code>-T</code></a>: <a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a href="#index-g_t_002dU-128"><code>-U</code></a>: <a
href="#Other-Options">Other Options</a></li>
-<li><a href="#index-g_t_002du-69"><code>-u</code></a>: <a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></li>
-<li><a href="#index-g_t_002dv-17"><code>-v</code></a>: <a
href="#Matching-Control">Matching Control</a></li>
-<li><a href="#index-g_t_002dV-4"><code>-V</code></a>: <a
href="#Generic-Program-Information">Generic Program Information</a></li>
-<li><a href="#index-g_t_002dw-21"><code>-w</code></a>: <a
href="#Matching-Control">Matching Control</a></li>
-<li><a href="#index-g_t_002dx-24"><code>-x</code></a>: <a
href="#Matching-Control">Matching Control</a></li>
-<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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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">
+<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter"
href="#Index_cp_symbol-1"><b>*</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-2"><b>+</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-3"><b>-</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-4"><b>.</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-5"><b>?</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-6"><b>_</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-7"><b>{</b></a>
+
+<br>
+<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a>
+
+</td></tr></table>
+<table class="index-cp" border="0">
+<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left">
Section</th></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-1">*</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002a"><code>*</code></a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-2">+</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002b"><code>+</code></a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-3">-</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dafter_002dcontext"><code>--after-context</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dbasic_002dregexp"><code>--basic-regexp</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dbefore_002dcontext"><code>--before-context</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dbinary"><code>--binary</code></a>:</td><td> </td><td
valign="top"><a href="#Other-Options">Other Options</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dbinary_002dfiles"><code>--binary-files</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dbyte_002doffset"><code>--byte-offset</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dcolor"><code>--color</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dcolour"><code>--colour</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dcontext"><code>--context</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dcount"><code>--count</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002ddereference_002drecursive"><code>--dereference-recursive</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002ddevices"><code>--devices</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002ddirectories"><code>--directories</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dexclude"><code>--exclude</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dexclude_002ddir"><code>--exclude-dir</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dexclude_002dfrom"><code>--exclude-from</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dextended_002dregexp"><code>--extended-regexp</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dfile"><code>--file</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dfiles_002dwith_002dmatches"><code>--files-with-matches</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dfiles_002dwithout_002dmatch"><code>--files-without-match</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dfixed_002dstrings"><code>--fixed-strings</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dgroup_002dseparator"><code>--group-separator</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dgroup_002dseparator-1"><code>--group-separator</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td> </td><td
valign="top"><a href="#Generic-Program-Information">Generic Program
Information</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dignore_002dcase"><code>--ignore-case</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dinclude"><code>--include</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dinitial_002dtab"><code>--initial-tab</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dinvert_002dmatch"><code>--invert-match</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dlabel"><code>--label</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dline_002dbuffered"><code>--line-buffered</code></a>:</td><td> </td><td
valign="top"><a href="#Other-Options">Other Options</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dline_002dnumber"><code>--line-number</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dline_002dregexp"><code>--line-regexp</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dmax_002dcount"><code>--max-count</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dno_002dfilename"><code>--no-filename</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dno_002dmessages"><code>--no-messages</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dnull"><code>--null</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dnull_002ddata"><code>--null-data</code></a>:</td><td> </td><td
valign="top"><a href="#Other-Options">Other Options</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002donly_002dmatching"><code>--only-matching</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dperl_002dregexp"><code>--perl-regexp</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dquiet"><code>--quiet</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002drecursive"><code>--recursive</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dregexp_003dpattern"><code>--regexp=<var>pattern</var></code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dsilent"><code>--silent</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dtext"><code>--text</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dunix_002dbyte_002doffsets"><code>--unix-byte-offsets</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dversion"><code>--version</code></a>:</td><td> </td><td
valign="top"><a href="#Generic-Program-Information">Generic Program
Information</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dwith_002dfilename"><code>--with-filename</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002d_002dword_002dregexp"><code>--word-regexp</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dA"><code>-A</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002da"><code>-a</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002db"><code>-b</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dB"><code>-B</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dc"><code>-c</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dC"><code>-C</code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dD"><code>-D</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dd"><code>-d</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002de"><code>-e</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dE"><code>-E</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002df"><code>-f</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dF"><code>-F</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dG"><code>-G</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dH"><code>-H</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dh"><code>-h</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002di"><code>-i</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dL"><code>-L</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dl"><code>-l</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dm"><code>-m</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dn"><code>-n</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dnum"><code>-<var>num</var></code></a>:</td><td> </td><td
valign="top"><a href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002do"><code>-o</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dP"><code>-P</code></a>:</td><td> </td><td
valign="top"><a href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dq"><code>-q</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dr"><code>-r</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dR"><code>-R</code></a>:</td><td> </td><td
valign="top"><a href="#File-and-Directory-Selection">File and Directory
Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002ds"><code>-s</code></a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dT"><code>-T</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002du"><code>-u</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dU"><code>-U</code></a>:</td><td> </td><td
valign="top"><a href="#Other-Options">Other Options</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dV"><code>-V</code></a>:</td><td> </td><td
valign="top"><a href="#Generic-Program-Information">Generic Program
Information</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dv"><code>-v</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dw"><code>-w</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dx"><code>-x</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dy"><code>-y</code></a>:</td><td> </td><td
valign="top"><a href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dZ"><code>-Z</code></a>:</td><td> </td><td
valign="top"><a href="#Output-Line-Prefix-Control">Output Line Prefix
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002dz"><code>-z</code></a>:</td><td> </td><td
valign="top"><a href="#Other-Options">Other Options</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-4">.</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_002e"><code>.</code></a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-5">?</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_003f"><code>?</code></a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-6">_</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_005fN_005fGNU_005fnonoption_005fargv_005fflags_005f-environment-variable"><code>_<var>N</var>_GNU_nonoption_argv_flags_
<span class="roman">environment
variable</span></code></a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-7">{</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_007b_002cm_007d"><code>{,<var>m</var>}</code></a>:</td><td> </td><td
valign="top"><a href="#Fundamental-Structure">Fundamental
Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_007bn_002cm_007d"><code>{<var>n</var>,<var>m</var>}</code></a>:</td><td> </td><td
valign="top"><a href="#Fundamental-Structure">Fundamental
Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_007bn_002c_007d"><code>{<var>n</var>,}</code></a>:</td><td> </td><td
valign="top"><a href="#Fundamental-Structure">Fundamental
Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-_007bn_007d"><code>{<var>n</var>}</code></a>:</td><td> </td><td
valign="top"><a href="#Fundamental-Structure">Fundamental
Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-A">A</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-after-context">after
context</a>:</td><td> </td><td valign="top"><a
href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-alnum-character-class"><code>alnum <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-alpha-character-class"><code>alpha <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-alphabetic-characters">alphabetic
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-alphanumeric-characters">alphanumeric
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-anchoring">anchoring</a>:</td><td> </td><td valign="top"><a
href="#Anchoring">Anchoring</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-asterisk">asterisk</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-B">B</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-back_002dreference">back-reference</a>:</td><td> </td><td
valign="top"><a href="#Back_002dreferences-and-Subexpressions">Back-references
and Subexpressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-backslash">backslash</a>:</td><td> </td><td valign="top"><a
href="#The-Backslash-Character-and-Special-Expressions">The Backslash Character
and Special Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-basic-regular-expressions">basic
regular expressions</a>:</td><td> </td><td valign="top"><a
href="#Basic-vs-Extended">Basic vs Extended</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-before-context">before
context</a>:</td><td> </td><td valign="top"><a
href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-binary-files">binary
files</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-binary-files-1">binary
files</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-binary-files_002c-MS_002dDOS_002fMS_002dWindows">binary files,
MS-DOS/MS-Windows</a>:</td><td> </td><td valign="top"><a
href="#Other-Options">Other Options</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-blank-character-class"><code>blank <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-blank-characters">blank
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-bn-GREP_005fCOLORS-capability"><code>bn GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-braces_002c-first-argument-omitted">braces, first argument
omitted</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-braces_002c-one-argument">braces, one
argument</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-braces_002c-second-argument-omitted">braces, second argument
omitted</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-braces_002c-two-arguments">braces, two
arguments</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-bracket-expression">bracket
expression</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Bugs_002c-known">Bugs,
known</a>:</td><td> </td><td valign="top"><a
href="#Reporting-Bugs">Reporting Bugs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-bugs_002c-reporting">bugs,
reporting</a>:</td><td> </td><td valign="top"><a
href="#Reporting-Bugs">Reporting Bugs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-byte-offset">byte
offset</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-byte-offsets_002c-on-MS_002dDOS_002fMS_002dWindows">byte offsets,
on MS-DOS/MS-Windows</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-C">C</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-case-insensitive-search">case
insensitive search</a>:</td><td> </td><td valign="top"><a
href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-changing-name-of-standard-input">changing name of standard
input</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-character-class">character
class</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-character-classes">character
classes</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-character-type">character
type</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-classes-of-characters">classes
of characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-cntrl-character-class"><code>cntrl <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-context">context</a>:</td><td> </td><td valign="top"><a
href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-context-lines_002c-after-match">context lines, after
match</a>:</td><td> </td><td valign="top"><a
href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-context-lines_002c-before-match">context lines, before
match</a>:</td><td> </td><td valign="top"><a
href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-control-characters">control
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-copying">copying</a>:</td><td> </td><td valign="top"><a
href="#Copying">Copying</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-counting-lines">counting
lines</a>:</td><td> </td><td valign="top"><a
href="#General-Output-Control">General Output Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-cx-GREP_005fCOLORS-capability"><code>cx GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-D">D</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-default-options-environment-variable">default options environment
variable</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-device-search">device
search</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-digit-character-class"><code>digit <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-digit-characters">digit
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-directory-search">directory
search</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-dot">dot</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-E">E</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-environment-variables">environment
variables</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-exclude-directories">exclude
directories</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-exclude-files">exclude
files</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-exclude-files-1">exclude
files</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-exit-status">exit
status</a>:</td><td> </td><td valign="top"><a href="#Exit-Status">Exit
Status</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-F">F</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-FAQ-about-grep-usage">FAQ about
<code>grep</code> usage</a>:</td><td> </td><td valign="top"><a
href="#Usage">Usage</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-files-which-don_0027t-match">files which don’t
match</a>:</td><td> </td><td valign="top"><a
href="#General-Output-Control">General Output Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-fn-GREP_005fCOLORS-capability"><code>fn GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-fn-GREP_005fCOLORS-capability-1"><code>fn GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-G">G</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-graph-character-class"><code>graph <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-graphic-characters">graphic
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-grep-programs"><code>grep</code>
programs</a>:</td><td> </td><td valign="top"><a href="#grep-Programs">grep
Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-GREP_005fCOLOR-environment-variable"><code>GREP_COLOR <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-GREP_005fCOLORS-environment-variable"><code>GREP_COLORS <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-GREP_005fOPTIONS-environment-variable"><code>GREP_OPTIONS <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group-separator">group
separator</a>:</td><td> </td><td valign="top"><a
href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-group-separator-1">group
separator</a>:</td><td> </td><td valign="top"><a
href="#Context-Line-Control">Context Line Control</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-H">H</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hexadecimal-digits">hexadecimal
digits</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-highlight-markers">highlight
markers</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-highlight-markers-1">highlight
markers</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-highlight_002c-color_002c-colour">highlight, color,
colour</a>:</td><td> </td><td valign="top"><a
href="#General-Output-Control">General Output Control</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-I">I</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-include-files">include
files</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-interval-specifications">interval
specifications</a>:</td><td> </td><td valign="top"><a
href="#Basic-vs-Extended">Basic vs Extended</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-invert-matching">invert
matching</a>:</td><td> </td><td valign="top"><a
href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-L">L</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LANG-environment-variable"><code>LANG <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LANG-environment-variable-1"><code>LANG <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LANG-environment-variable-2"><code>LANG <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LANG-environment-variable-3"><code>LANG <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LANGUAGE-environment-variable"><code>LANGUAGE <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LANGUAGE-environment-variable-1"><code>LANGUAGE <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-language-of-messages">language
of messages</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fALL-environment-variable"><code>LC_ALL <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fALL-environment-variable-1"><code>LC_ALL <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fALL-environment-variable-2"><code>LC_ALL <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fALL-environment-variable-3"><code>LC_ALL <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fCOLLATE-environment-variable"><code>LC_COLLATE <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fCTYPE-environment-variable"><code>LC_CTYPE <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fMESSAGES-environment-variable"><code>LC_MESSAGES <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-LC_005fMESSAGES-environment-variable-1"><code>LC_MESSAGES <span
class="roman">environment variable</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-line-buffering">line
buffering</a>:</td><td> </td><td valign="top"><a
href="#Other-Options">Other Options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-line-numbering">line
numbering</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-ln-GREP_005fCOLORS-capability"><code>ln GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-lower-character-class"><code>lower <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-lower_002dcase-letters">lower-case
letters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-M">M</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-match-expression-at-most-m-times">match expression at most
<var>m</var> times</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-match-expression-at-most-once">match expression at most
once</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-match-expression-from-n-to-m-times">match expression from
<var>n</var> to <var>m</var> times</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-match-expression-n-or-more-times">match expression <var>n</var> or
more times</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-match-expression-n-times">match
expression <var>n</var> times</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-match-expression-one-or-more-times">match expression one or more
times</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-match-expression-zero-or-more-times">match expression zero or more
times</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-match-the-whole-line">match the
whole line</a>:</td><td> </td><td valign="top"><a
href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-matching-basic-regular-expressions">matching basic regular
expressions</a>:</td><td> </td><td valign="top"><a
href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-matching-extended-regular-expressions">matching extended regular
expressions</a>:</td><td> </td><td valign="top"><a
href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-matching-fixed-strings">matching
fixed strings</a>:</td><td> </td><td valign="top"><a
href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-matching-Perl-regular-expressions">matching Perl regular
expressions</a>:</td><td> </td><td valign="top"><a
href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-matching-whole-words">matching
whole words</a>:</td><td> </td><td valign="top"><a
href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-max_002dcount">max-count</a>:</td><td> </td><td
valign="top"><a href="#General-Output-Control">General Output
Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-mc-GREP_005fCOLORS-capability"><code>mc GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-message-language">message
language</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-ms-GREP_005fCOLORS-capability"><code>ms GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-MS_002dDOS_002fMS_002dWindows-binary-files">MS-DOS/MS-Windows
binary files</a>:</td><td> </td><td valign="top"><a
href="#Other-Options">Other Options</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-MS_002dDOS_002fMS_002dWindows-byte-offsets">MS-DOS/MS-Windows byte
offsets</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-mt-GREP_005fCOLORS-capability"><code>mt GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-N">N</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-names-of-matching-files">names
of matching files</a>:</td><td> </td><td valign="top"><a
href="#General-Output-Control">General Output Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-national-language-support">national language
support</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-national-language-support-1">national language
support</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-ne-GREP_005fCOLORS-capability"><code>ne GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-NLS">NLS</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-no-filename-prefix">no filename
prefix</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-numeric-characters">numeric
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-O">O</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-only-matching">only
matching</a>:</td><td> </td><td valign="top"><a
href="#General-Output-Control">General Output Control</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-P">P</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-palindromes">palindromes</a>:</td><td> </td><td
valign="top"><a href="#Usage">Usage</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pattern-from-file">pattern from
file</a>:</td><td> </td><td valign="top"><a
href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-pattern-list">pattern
list</a>:</td><td> </td><td valign="top"><a
href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-period">period</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-plus-sign">plus
sign</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-POSIXLY_005fCORRECT-environment-variable"><code>POSIXLY_CORRECT
<span class="roman">environment
variable</span></code></a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-print-character-class"><code>print <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-print-non_002dmatching-lines">print non-matching
lines</a>:</td><td> </td><td valign="top"><a
href="#Matching-Control">Matching Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-printable-characters">printable
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-punct-character-class"><code>punct <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-punctuation-characters">punctuation
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-Q">Q</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-question-mark">question
mark</a>:</td><td> </td><td valign="top"><a
href="#Fundamental-Structure">Fundamental Structure</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-quiet_002c-silent">quiet,
silent</a>:</td><td> </td><td valign="top"><a
href="#General-Output-Control">General Output Control</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-R">R</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-range-expression">range
expression</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-recursive-search">recursive
search</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-recursive-search-1">recursive
search</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-regular-expressions">regular
expressions</a>:</td><td> </td><td valign="top"><a
href="#Regular-Expressions">Regular Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-return-status">return
status</a>:</td><td> </td><td valign="top"><a href="#Exit-Status">Exit
Status</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-rv-GREP_005fCOLORS-capability"><code>rv GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-S">S</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-searching-directory-trees">searching directory
trees</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-searching-directory-trees-1">searching directory
trees</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-searching-directory-trees-2">searching directory
trees</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-searching-directory-trees-3">searching directory
trees</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-searching-directory-trees-4">searching directory
trees</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-searching-for-a-pattern">searching for a
pattern</a>:</td><td> </td><td valign="top"><a
href="#Introduction">Introduction</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-sl-GREP_005fCOLORS-capability"><code>sl GREP_COLORS <span
class="roman">capability</span></code></a>:</td><td> </td><td
valign="top"><a href="#Environment-Variables">Environment
Variables</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-space-character-class"><code>space <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-space-characters">space
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-subexpression">subexpression</a>:</td><td> </td><td
valign="top"><a href="#Back_002dreferences-and-Subexpressions">Back-references
and Subexpressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-suppress-binary-data">suppress
binary data</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-suppress-error-messages">suppress error
messages</a>:</td><td> </td><td valign="top"><a
href="#General-Output-Control">General Output Control</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-symbolic-links">symbolic
links</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-symbolic-links-1">symbolic
links</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-symbolic-links-2">symbolic
links</a>:</td><td> </td><td valign="top"><a
href="#File-and-Directory-Selection">File and Directory Selection</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-T">T</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-tab_002daligned-content-lines">tab-aligned content
lines</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-translation-of-message-language">translation of message
language</a>:</td><td> </td><td valign="top"><a
href="#Environment-Variables">Environment Variables</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-U">U</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-upper-character-class"><code>upper <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-upper_002dcase-letters">upper-case
letters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-usage-summary_002c-printing">usage summary,
printing</a>:</td><td> </td><td valign="top"><a
href="#Generic-Program-Information">Generic Program Information</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-usage_002c-examples">usage,
examples</a>:</td><td> </td><td valign="top"><a
href="#Usage">Usage</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-using-grep_002c-Q_0026A">using
<code>grep</code>, Q&A</a>:</td><td> </td><td valign="top"><a
href="#Usage">Usage</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-V">V</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-variants-of-grep">variants of
<code>grep</code></a>:</td><td> </td><td valign="top"><a
href="#grep-Programs">grep Programs</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-version_002c-printing">version,
printing</a>:</td><td> </td><td valign="top"><a
href="#Generic-Program-Information">Generic Program Information</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-W">W</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-whitespace-characters">whitespace
characters</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-with-filename-prefix">with
filename prefix</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-X">X</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-xdigit-character-class"><code>xdigit <span class="roman">character
class</span></code></a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-xdigit-class">xdigit
class</a>:</td><td> </td><td valign="top"><a
href="#Character-Classes-and-Bracket-Expressions">Character Classes and Bracket
Expressions</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_letter-Z">Z</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-zero_002dterminated-file-names">zero-terminated file
names</a>:</td><td> </td><td valign="top"><a
href="#Output-Line-Prefix-Control">Output Line Prefix Control</a></td></tr>
+<tr><td></td><td valign="top"><a
href="#index-zero_002dterminated-lines">zero-terminated
lines</a>:</td><td> </td><td valign="top"><a href="#Other-Options">Other
Options</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter"
href="#Index_cp_symbol-1"><b>*</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-2"><b>+</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-3"><b>-</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-4"><b>.</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-5"><b>?</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-6"><b>_</b></a>
+
+<a class="summary-letter" href="#Index_cp_symbol-7"><b>{</b></a>
+
+<br>
+<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a>
+
+<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a>
+
+</td></tr></table>
+
+<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
-Unix predated POSIX by several years!</p>
+<h4 class="footnotes-heading">Footnotes</h4>
- <hr></div>
+<h3><a name="FOOT1" href="#DOCF1">(1)</a></h3>
+<p>Of course, 7th Edition
+Unix predated POSIX by several years!</p>
+</div>
+<hr>
-</body></html>
-<!--
-
-Local Variables:
-coding: utf-8
-End:
--->
+</body>
+</html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Changes to grep/manual/grep.html,v,
Jim Meyering <=