[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Changes to grep/manual/grep.txt,v
From: |
Jim Meyering |
Subject: |
Changes to grep/manual/grep.txt,v |
Date: |
Fri, 05 Feb 2016 00:44:56 +0000 |
CVSROOT: /webcvs/grep
Module name: grep
Changes by: Jim Meyering <meyering> 16/02/05 00:44:53
Index: grep.txt
===================================================================
RCS file: /webcvs/grep/grep/manual/grep.txt,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- grep.txt 2 Nov 2015 02:54:30 -0000 1.21
+++ grep.txt 5 Feb 2016 00:44:50 -0000 1.22
@@ -1,9 +1,6 @@
-Table of Contents
-*****************
-
grep
1 Introduction
-2 Invoking `grep'
+2 Invoking âgrepâ
2.1 Command-line Options
2.1.1 Generic Program Information
2.1.2 Matching Control
@@ -14,7 +11,7 @@
2.1.7 Other Options
2.2 Environment Variables
2.3 Exit Status
- 2.4 `grep' Programs
+ 2.4 âgrepâ Programs
3 Regular Expressions
3.1 Fundamental Structure
3.2 Character Classes and Bracket Expressions
@@ -28,181 +25,179 @@
6 Copying
6.1 GNU Free Documentation License
Index
-
-
grep
****
-`grep' prints lines that contain a match for a pattern.
+âgrepâ prints lines that contain a match for a pattern.
- This manual is for version 2.22 of GNU Grep.
+ This manual is for version 2.23 of GNU Grep.
- This manual is for `grep', a pattern matching engine.
+ This manual is for âgrepâ, a pattern matching engine.
- Copyright (C) 1999-2002, 2005, 2008-2015 Free Software Foundation,
-Inc.
+ Copyright © 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".
+ and with no Back-Cover Texts. A copy of the license is included in
+ the section entitled âGNU Free Documentation Licenseâ.
1 Introduction
**************
-`grep' searches input files for lines containing a match to a given
+âgrepâ 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.
- Though `grep' expects to do the matching on text, it has no limits
-on input line length other than available memory, and it can match
+ Though âgrepâ 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, `grep' silently supplies one. Since newline is also
-a separator for the list of patterns, there is no way to match newline
+is not a newline, âgrepâ 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.
-2 Invoking `grep'
+2 Invoking âgrepâ
*****************
-The general synopsis of the `grep' command line is
+The general synopsis of the âgrepâ command line is
grep OPTIONS PATTERN INPUT_FILE_NAMES
There can be zero or more OPTIONS. PATTERN will only be seen as such
-(and not as an INPUT_FILE_NAME) if it wasn't already specified within
-OPTIONS (by using the `-e PATTERN' or `-f FILE' options). There can be
+(and not as an INPUT_FILE_NAME) if it wasnât already specified within
+OPTIONS (by using the â-e PATTERNâ or â-f FILEâ options). There can be
zero or more INPUT_FILE_NAMES.
2.1 Command-line Options
========================
-`grep' comes with a rich set of options: some from POSIX and some being
+âgrepâ 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. Options that are specified
by POSIX, under their short names, are explicitly marked as such to
facilitate POSIX-portable programming. A few option names are provided
for compatibility with older or more exotic implementations.
- Several additional options control which variant of the `grep'
+ Several additional options control which variant of the âgrepâ
matching engine is used. *Note grep Programs::.
2.1.1 Generic Program Information
---------------------------------
-`--help'
+â--helpâ
Print a usage message briefly summarizing the command-line options
and the bug-reporting address, then exit.
-`-V'
-`--version'
- Print the version number of `grep' to the standard output stream.
+â-Vâ
+â--versionâ
+ Print the version number of âgrepâ to the standard output stream.
This version number should be included in all bug reports.
-
2.1.2 Matching Control
----------------------
-`-e PATTERN'
-`--regexp=PATTERN'
+â-e PATTERNâ
+â--regexp=PATTERNâ
Use PATTERN as the pattern. This can be used to specify multiple
- search patterns, or to protect a pattern beginning with a `-'.
- (`-e' is specified by POSIX.)
+ search patterns, or to protect a pattern beginning with a â-â.
+ (â-eâ is specified by POSIX.)
-`-f FILE'
-`--file=FILE'
+â-f FILEâ
+â--file=FILEâ
Obtain patterns from FILE, one per line. The empty file contains
- zero patterns, and therefore matches nothing. (`-f' is specified
+ zero patterns, and therefore matches nothing. (â-fâ is specified
by POSIX.)
-`-i'
-`-y'
-`--ignore-case'
+â-iâ
+â-yâ
+â--ignore-caseâ
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 unusual lowercase counterpart "Å¿" (Unicode
+ uppercase âSâ has an unusual lowercase counterpart âÅ¿â (Unicode
character U+017F, LATIN SMALL LETTER LONG S) in many locales, and
- it is unspecified whether this unusual character matches "S" or
- "s" even though uppercasing it yields "S". Another example: the
- lowercase German letter "Ã" (U+00DF, LATIN SMALL LETTER SHARP S)
- is normally capitalized as the 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.
-
- `-y' is an obsolete synonym that is provided for compatibility.
- (`-i' is specified by POSIX.)
-
-`-v'
-`--invert-match'
- Invert the sense of matching, to select non-matching lines. (`-v'
+ it is unspecified whether this unusual character matches âSâ or
âsâ
+ even though uppercasing it yields âSâ. Another example: the
+ lowercase German letter âÃâ (U+00DF, LATIN SMALL LETTER SHARP S) is
+ normally capitalized as the 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.
+
+ â-yâ is an obsolete synonym that is provided for compatibility.
+ (â-iâ is specified by POSIX.)
+
+â-vâ
+â--invert-matchâ
+ Invert the sense of matching, to select non-matching lines. (â-vâ
is specified by POSIX.)
-`-w'
-`--word-regexp'
+â-wâ
+â--word-regexpâ
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. Similarly, 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.
-
-`-x'
-`--line-regexp'
- Select only those matches that exactly match the whole line.
- (`-x' is specified by POSIX.)
+ characters are letters, digits, and the underscore. This option
+ has no effect if â-xâ is also specified.
+â-xâ
+â--line-regexpâ
+ 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 â^â and â$â. (â-xâ is specified
by
+ POSIX.)
2.1.3 General Output Control
----------------------------
-`-c'
-`--count'
- Suppress normal output; instead print a count of matching lines
- for each input file. With the `-v' (`--invert-match') option,
- count non-matching lines. (`-c' is specified by POSIX.)
+â-câ
+â--countâ
+ Suppress normal output; instead print a count of matching lines for
+ each input file. With the â-vâ (â--invert-matchâ) option, count
+ non-matching lines. (â-câ is specified by POSIX.)
-`--color[=WHEN]'
-`--colour[=WHEN]'
+â--color[=WHEN]â
+â--colour[=WHEN]â
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 `GREP_COLORS' and default to
- `ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36' for bold red
+ the environment variable âGREP_COLORSâ and default to
+ âms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36â 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 `GREP_COLOR' is still
+ The deprecated environment variable âGREP_COLORâ is still
supported, but its setting does not have priority; it defaults to
- `01;31' (bold red) which only covers the color for matched text.
- WHEN is `never', `always', or `auto'.
+ â01;31â (bold red) which only covers the color for matched text.
+ WHEN is âneverâ, âalwaysâ, or âautoâ.
-`-L'
-`--files-without-match'
+â-Lâ
+â--files-without-matchâ
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.
-`-l'
-`--files-with-matches'
+â-lâ
+â--files-with-matchesâ
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. (`-l' is specified by
+ of each file stops on the first match. (â-lâ is specified by
POSIX.)
-`-m NUM'
-`--max-count=NUM'
+â-m NUMâ
+â--max-count=NUMâ
Stop reading a file after NUM matching lines. If the input is
standard input from a regular file, and NUM matching lines are
- output, `grep' ensures that the standard input is positioned just
+ output, âgrepâ 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:
+ presence of trailing context lines. This enables a calling process
+ to resume a search. For example, the following shell script makes
+ use of it:
while grep -m 1 PATTERN
do
@@ -219,39 +214,37 @@
echo xxxx
done
- When `grep' stops after NUM matching lines, it outputs any
- trailing context lines. Since context does not include matching
- lines, `grep' will stop when it encounters another matching line.
- When the `-c' or `--count' option is also used, `grep' does not
- output a count greater than NUM. When the `-v' or
- `--invert-match' option is also used, `grep' stops after
- outputting NUM non-matching lines.
+ When âgrepâ stops after NUM matching lines, it outputs any trailing
+ context lines. Since context does not include matching lines,
+ âgrepâ will stop when it encounters another matching line. When
+ the â-câ or â--countâ option is also used, âgrepâ does not
output a
+ count greater than NUM. When the â-vâ or â--invert-matchâ option
+ is also used, âgrepâ stops after outputting NUM non-matching lines.
-`-o'
-`--only-matching'
+â-oâ
+â--only-matchingâ
Print only the matched (non-empty) parts of matching lines, with
each such part on a separate output line.
-`-q'
-`--quiet'
-`--silent'
+â-qâ
+â--quietâ
+â--silentâ
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 `-s' or `--no-messages' option. (`-q' is
+ detected. Also see the â-sâ or â--no-messagesâ option.
(â-qâ is
specified by POSIX.)
-`-s'
-`--no-messages'
+â-sâ
+â--no-messagesâ
Suppress error messages about nonexistent or unreadable files.
- Portability note: unlike GNU `grep', 7th Edition Unix `grep' did
- not conform to POSIX, because it lacked `-q' and its `-s' option
- behaved like GNU `grep''s `-q' option.(1) USG-style `grep' also
- lacked `-q' but its `-s' option behaved like GNU `grep''s.
- Portable shell scripts should avoid both `-q' and `-s' and should
- redirect standard and error output to `/dev/null' instead. (`-s'
+ Portability note: unlike GNU âgrepâ, 7th Edition Unix âgrepâ did
+ not conform to POSIX, because it lacked â-qâ and its â-sâ option
+ behaved like GNU âgrepââs â-qâ option.(1) USG-style âgrepâ
also
+ lacked â-qâ but its â-sâ option behaved like GNU âgrepââs.
+ Portable shell scripts should avoid both â-qâ and â-sâ and should
+ redirect standard and error output to â/dev/nullâ instead. (â-sâ
is specified by POSIX.)
-
---------- Footnotes ----------
(1) Of course, 7th Edition Unix predated POSIX by several years!
@@ -263,262 +256,262 @@
name, line number, and byte offset, regardless of the order in which
these options were specified.
-`-b'
-`--byte-offset'
+â-bâ
+â--byte-offsetâ
Print the 0-based byte offset within the input file before each
- line of output. If `-o' (`--only-matching') is specified, print
- the offset of the matching part itself. When `grep' runs on
- MS-DOS or MS-Windows, the printed byte offsets depend on whether
- the `-u' (`--unix-byte-offsets') option is used; see below.
-
-`-H'
-`--with-filename'
- Print the file name for each match. This is the default when
- there is more than one file to search.
+ line of output. If â-oâ (â--only-matchingâ) is specified, print
+ the offset of the matching part itself. When âgrepâ runs on MS-DOS
+ or MS-Windows, the printed byte offsets depend on whether the â-uâ
+ (â--unix-byte-offsetsâ) option is used; see below.
+
+â-Hâ
+â--with-filenameâ
+ Print the file name for each match. This is the default when there
+ is more than one file to search.
-`-h'
-`--no-filename'
+â-hâ
+â--no-filenameâ
Suppress the prefixing of file names on output. This is the
default when there is only one file (or only standard input) to
search.
-`--label=LABEL'
+â--label=LABELâ
Display input actually coming from standard input as input coming
- from file LABEL. This is especially useful when implementing
- tools like `zgrep'; e.g.:
+ from file LABEL. This is especially useful when implementing tools
+ like âzgrepâ; e.g.:
gzip -cd foo.gz | grep --label=foo -H something
-`-n'
-`--line-number'
+â-nâ
+â--line-numberâ
Prefix each line of output with the 1-based line number within its
- input file. (`-n' is specified by POSIX.)
+ input file. (â-nâ is specified by POSIX.)
-`-T'
-`--initial-tab'
- 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
+â-Tâ
+â--initial-tabâ
+ 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:
- `-H', `-n', and `-b'. In order to improve the probability that
+ â-Hâ, â-nâ, and â-bâ. 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.
-`-u'
-`--unix-byte-offsets'
- Report Unix-style byte offsets. This option causes `grep' to
+â-uâ
+â--unix-byte-offsetsâ
+ Report Unix-style byte offsets. This option causes âgrepâ 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 `grep' on a Unix
- machine. This option has no effect unless the `-b' option is also
+ This will produce results identical to running âgrepâ on a Unix
+ machine. This option has no effect unless the â-bâ option is also
used; it has no effect on platforms other than MS-DOS and
MS-Windows.
-`-Z'
-`--null'
+â-Zâ
+â--nullâ
Output a zero byte (the ASCII NUL character) instead of the
- character that normally follows a file name. For example, `grep
- -lZ' outputs a zero byte after each file name instead of the usual
+ character that normally follows a file name. For example, âgrep
+ -lZâ 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 `find -print0', `perl
- -0', `sort -z', and `xargs -0' to process arbitrary file names,
+ This option can be used with commands like âfind -print0â, âperl
+ -0â, âsort -zâ, and âxargs -0â to process arbitrary file names,
even those that contain newline characters.
-
2.1.5 Context Line Control
--------------------------
-Regardless of how these options are set, `grep' will never print any
-given line more than once. If the `-o' (`--only-matching') option is
+Regardless of how these options are set, âgrepâ will never print any
+given line more than once. If the â-oâ (â--only-matchingâ) option is
specified, these options have no effect and a warning is given upon
their use.
-`-A NUM'
-`--after-context=NUM'
+â-A NUMâ
+â--after-context=NUMâ
Print NUM lines of trailing context after matching lines.
-`-B NUM'
-`--before-context=NUM'
+â-B NUMâ
+â--before-context=NUMâ
Print NUM lines of leading context before matching lines.
-`-C NUM'
-`-NUM'
-`--context=NUM'
+â-C NUMâ
+â-NUMâ
+â--context=NUMâ
Print NUM lines of leading and trailing output context.
-`--group-separator=STRING'
- When `-A', `-B' or `-C' are in use, print STRING instead of `--'
+â--group-separator=STRINGâ
+ When â-Aâ, â-Bâ or â-Câ are in use, print STRING instead of
â--â
between groups of lines.
-`--no-group-separator'
- When `-A', `-B' or `-C' are in use, do not print a separator
+â--no-group-separatorâ
+ When â-Aâ, â-Bâ or â-Câ are in use, do not print a separator
between groups of lines.
-
- Here are some points about how `grep' chooses the separator to print
+ Here are some points about how âgrepâ chooses the separator to print
between prefix fields and line content:
- * Matching lines normally use `:' as a separator between prefix
+ ⢠Matching lines normally use â:â as a separator between prefix
fields and actual line content.
- * Context (i.e., non-matching) lines use `-' instead.
+ ⢠Context (i.e., non-matching) lines use â-â instead.
- * When context is not specified, matching lines are simply output
- one right after another.
+ ⢠When context is not specified, matching lines are simply output one
+ right after another.
- * When context is specified, lines that are adjacent in the input
+ ⢠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.
- * The default separator is a `--' line; its presence and appearance
+ ⢠The default separator is a â--â line; its presence and appearance
can be changed with the options above.
- * 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.
+ ⢠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.
2.1.6 File and Directory Selection
----------------------------------
-`-a'
-`--text'
- Process a binary file as if it were text; this is equivalent to
- the `--binary-files=text' option.
-
-`--binary-files=TYPE'
- If a file's allocation metadata, or if its data read before a line
- is selected for output, indicate that the file contains binary
+â-aâ
+â--textâ
+ Process a binary file as if it were text; this is equivalent to the
+ â--binary-files=textâ option.
+
+â--binary-files=TYPEâ
+ If a fileâs data or metadata indicate that the file contains binary
data, assume that the file is of type TYPE. Non-text bytes
- indicate binary data; these are either data bytes improperly
- encoded for the current locale, or null bytes when the `-z'
- (`--null-data') option is not given (*note Other Options::).
-
- By default, TYPE is `binary', and `grep' 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, `grep' may
- treat non-text bytes as line terminators; for example, the pattern
- `.' (period) might not match a null byte, as the null byte might
- be treated as a line terminator even without the `-z'
- (`--null-data') option.
-
- If TYPE is `without-match', `grep' assumes that a binary file does
- not match; this is equivalent to the `-I' option.
-
- If TYPE is `text', `grep' processes a binary file as if it were
- text; this is equivalent to the `-a' option.
-
- _Warning:_ `--binary-files=text' 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.
+ indicate binary data; these are either output bytes that are
+ improperly encoded for the current locale, or null input bytes when
+ the â-zâ (â--null-dataâ) option is not given (*note Other
+ Options::).
+
+ By default, TYPE is âbinaryâ, and when âgrepâ 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, âgrepâ
+ may treat non-text bytes as line terminators; for example, the
+ pattern â.â (period) might not match a null byte, as the null byte
+ might be treated as a line terminator even without the â-zâ
+ (â--null-dataâ) option.
+
+ If TYPE is âwithout-matchâ, when âgrepâ discovers that a file is
+ binary it assumes that the rest of the file does not match; this is
+ equivalent to the â-Iâ option.
+
+ If TYPE is âtextâ, âgrepâ processes a binary file as if it were
+ text; this is equivalent to the â-aâ option.
+
+ _Warning:_ â--binary-files=textâ 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.
-`-D ACTION'
-`--devices=ACTION'
+â-D ACTIONâ
+â--devices=ACTIONâ
If an input file is a device, FIFO, or socket, use ACTION to
- process it. If ACTION is `read', all devices are read just as if
- they were ordinary files. If ACTION is `skip', devices, FIFOs,
- and sockets are silently skipped. By default, devices are read if
- they are on the command line or if the `-R'
- (`--dereference-recursive') option is used, and are skipped if
- they are encountered recursively and the `-r' (`--recursive')
- option is used. This option has no effect on a file that is read
- via standard input.
+ process it. If ACTION is âreadâ, all devices are read just as if
+ they were ordinary files. If ACTION is âskipâ, devices, FIFOs, and
+ sockets are silently skipped. By default, devices are read if they
+ are on the command line or if the â-Râ (â--dereference-recursiveâ)
+ option is used, and are skipped if they are encountered recursively
+ and the â-râ (â--recursiveâ) option is used. This option has no
+ effect on a file that is read via standard input.
-`-d ACTION'
-`--directories=ACTION'
+â-d ACTIONâ
+â--directories=ACTIONâ
If an input file is a directory, use ACTION to process it. By
- default, ACTION is `read', which means that directories are read
+ default, ACTION is âreadâ, which means that directories are read
just as if they were ordinary files (some operating systems and
- file systems disallow this, and will cause `grep' to print error
+ file systems disallow this, and will cause âgrepâ to print error
messages for every directory or silently skip them). If ACTION is
- `skip', directories are silently skipped. If ACTION is `recurse',
- `grep' reads all files under each directory, recursively,
- following command-line symbolic links and skipping other symlinks;
- this is equivalent to the `-r' option.
-
-`--exclude=GLOB'
- Skip files whose name matches the pattern GLOB, using wildcard
- matching. When searching recursively, skip any subfile whose base
- name matches GLOB; the base name is the part after the last `/'.
- A pattern can use `*', `?', and `['...`]' as wildcards, and `\' to
+ âskipâ, directories are silently skipped. If ACTION is ârecurseâ,
+ âgrepâ reads all files under each directory, recursively, following
+ command-line symbolic links and skipping other symlinks; this is
+ equivalent to the â-râ option.
+
+â--exclude=GLOBâ
+ Skip any command-line file with a name suffix that matches the
+ pattern GLOB, using wildcard matching; a name suffix is either the
+ whole name, or any suffix starting after a â/â and before a
+ non-â/â. When searching recursively, skip any subfile whose base
+ name matches GLOB; the base name is the part after the last â/â. A
+ pattern can use â*â, â?â, and â[â...â]â as wildcards,
and â\â to
quote a wildcard or backslash character literally.
-`--exclude-from=FILE'
+â--exclude-from=FILEâ
Skip files whose name matches any of the patterns read from FILE
- (using wildcard matching as described under `--exclude').
+ (using wildcard matching as described under â--excludeâ).
-`--exclude-dir=GLOB'
- Skip any directory whose name matches the pattern GLOB. When
- searching recursively, skip any subdirectory whose base name
- matches GLOB. Ignore any redundant trailing slashes in GLOB.
+â--exclude-dir=GLOBâ
+ Skip any command-line directory with a name suffix that matches the
+ pattern GLOB. When searching recursively, skip any subdirectory
+ whose base name matches GLOB. Ignore any redundant trailing
+ slashes in GLOB.
-`-I'
+â-Iâ
Process a binary file as if it did not contain matching data; this
- is equivalent to the `--binary-files=without-match' option.
+ is equivalent to the â--binary-files=without-matchâ option.
-`--include=GLOB'
+â--include=GLOBâ
Search only files whose name matches GLOB, using wildcard matching
- as described under `--exclude'.
+ as described under â--excludeâ.
-`-r'
-`--recursive'
+â-râ
+â--recursiveâ
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 `--directories=recurse' option.
+ 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 â--directories=recurseâ option.
-`-R'
-`--dereference-recursive'
+â-Râ
+â--dereference-recursiveâ
For each directory operand, read and process all files in that
directory, recursively, following all symbolic links.
-
2.1.7 Other Options
-------------------
-`--line-buffered'
+â--line-bufferedâ
Use line buffering on output. This can cause a performance
penalty.
-`-U'
-`--binary'
+â-Uâ
+â--binaryâ
Treat the file(s) as binary. By default, under MS-DOS and
- MS-Windows, `grep' guesses whether a file is text or binary as
- described for the `--binary-files' option. If `grep' decides the
+ MS-Windows, âgrepâ guesses whether a file is text or binary as
+ described for the â--binary-filesâ option. If âgrepâ decides the
file is a text file, it strips carriage returns from the original
- file contents (to make regular expressions with `^' and `$' work
- correctly). Specifying `-U' overrules this guesswork, causing all
+ file contents (to make regular expressions with â^â and â$â work
+ correctly). Specifying â-Uâ overrules this guesswork, causing all
files to be read and passed to the matching mechanism verbatim; if
- the file is a text file with `CR/LF' pairs at the end of each line,
+ the file is a text file with âCR/LFâ 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.
-`-z'
-`--null-data'
+â-zâ
+â--null-dataâ
Treat the input as a set of lines, each terminated by a zero byte
- (the ASCII NUL character) instead of a newline. Like the `-Z' or
- `--null' option, this option can be used with commands like `sort
- -z' to process arbitrary file names.
-
+ (the ASCII NUL character) instead of a newline. Like the â-Zâ or
+ â--nullâ option, this option can be used with commands like âsort
+ -zâ to process arbitrary file names.
2.2 Environment Variables
=========================
-The behavior of `grep' is affected by the following environment
+The behavior of âgrepâ is affected by the following environment
variables.
- The locale for category `LC_FOO' is specified by examining the three
-environment variables `LC_ALL', `LC_FOO', and `LANG', in that order.
+ The locale for category âLC_FOOâ is specified by examining the three
+environment variables âLC_ALLâ, âLC_FOOâ, and âLANGâ, in that
order.
The first of these variables that is set specifies the locale. For
-example, if `LC_ALL' is not set, but `LC_COLLATE' is set to `pt_BR',
-then the Brazilian Portuguese locale is used for the `LC_COLLATE'
-category. As a special case for `LC_MESSAGES' only, the environment
-variable `LANGUAGE' can contain a colon-separated list of languages that
+example, if âLC_ALLâ is not set, but âLC_COLLATEâ is set to
âpt_BRâ,
+then the Brazilian Portuguese locale is used for the âLC_COLLATEâ
+category. As a special case for âLC_MESSAGESâ only, the environment
+variable âLANGUAGEâ can contain a colon-separated list of languages that
overrides the three environment variables that ordinarily specify the
-`LC_MESSAGES' category. The `C' locale is used if none of these
+âLC_MESSAGESâ category. The âCâ locale is used if none of these
environment variables are set, if the locale catalog is not installed,
-or if `grep' was not compiled with national language support (NLS).
+or if âgrepâ was not compiled with national language support (NLS).
Many of the environment variables in the following list let you
control highlighting using Select Graphic Rendition (SGR) commands
@@ -526,520 +519,512 @@
the documentation of your text terminal for permitted values and their
meanings as character attributes.) These substring values are integers
in decimal representation and can be concatenated with semicolons.
-`grep' takes care of assembling the result into a complete SGR sequence
-(`\33['...`m'). Common values to concatenate include `1' for bold, `4'
-for underline, `5' for blink, `7' for inverse, `39' for default
-foreground color, `30' to `37' for foreground colors, `90' to `97' for
-16-color mode foreground colors, `38;5;0' to `38;5;255' for 88-color
-and 256-color modes foreground colors, `49' for default background
-color, `40' to `47' for background colors, `100' to `107' for 16-color
-mode background colors, and `48;5;0' to `48;5;255' for 88-color and
-256-color modes background colors.
+âgrepâ takes care of assembling the result into a complete SGR sequence
+(â\33[â...âmâ). Common values to concatenate include â1â for
bold, â4â
+for underline, â5â for blink, â7â for inverse, â39â for default
+foreground color, â30â to â37â for foreground colors, â90â to
â97â for
+16-color mode foreground colors, â38;5;0â to â38;5;255â for 88-color
and
+256-color modes foreground colors, â49â for default background color,
+â40â to â47â for background colors, â100â to â107â for
16-color mode
+background colors, and â48;5;0â to â48;5;255â for 88-color and
256-color
+modes background colors.
- The two-letter names used in the `GREP_COLORS' environment variable
-(and some of the others) refer to terminal "capabilities," the ability
+ The two-letter names used in the âGREP_COLORSâ 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
-`terminfo' library.
+âterminfoâ library.
-`GREP_OPTIONS'
+âGREP_OPTIONSâ
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 `grep', and `grep' warns if it is used. Please use an alias or
- script instead. For example, if `grep' is in the directory
- `/usr/bin' you can prepend `$HOME/bin' to your `PATH' and create an
- executable script `$HOME/bin/grep' containing the following:
+ of âgrepâ, and âgrepâ warns if it is used. Please use an alias or
+ script instead. For example, if âgrepâ is in the directory
+ â/usr/binâ you can prepend â$HOME/binâ to your âPATHâ and
create an
+ executable script â$HOME/bin/grepâ containing the following:
#! /bin/sh
export PATH=/usr/bin
exec grep --color=auto --devices=skip "$@"
-`GREP_COLOR'
+âGREP_COLORâ
This variable specifies the color used to highlight matched
- (non-empty) text. It is deprecated in favor of `GREP_COLORS', but
- still supported. The `mt', `ms', and `mc' capabilities of
- `GREP_COLORS' 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 `-v' command-line option
- is omitted, or a context line when `-v' is specified). The
- default is `01;31', which means a bold red foreground text on the
- terminal's default background.
+ (non-empty) text. It is deprecated in favor of âGREP_COLORSâ, but
+ still supported. The âmtâ, âmsâ, and âmcâ capabilities of
+ âGREP_COLORSâ 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 â-vâ command-line option is omitted, or a
+ context line when â-vâ is specified). The default is â01;31â,
+ which means a bold red foreground text on the terminalâs default
+ background.
-`GREP_COLORS'
+âGREP_COLORSâ
This variable specifies the colors and other attributes used to
highlight various parts of the output. Its value is a
- colon-separated list of `terminfo' capabilities that defaults to
- `ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36' with the `rv'
- and `ne' boolean capabilities omitted (i.e., false). Supported
+ colon-separated list of âterminfoâ capabilities that defaults to
+ âms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36â with the ârvâ
+ and âneâ boolean capabilities omitted (i.e., false). Supported
capabilities are as follows.
- `sl='
+ âsl=â
SGR substring for whole selected lines (i.e., matching lines
- when the `-v' command-line option is omitted, or non-matching
- lines when `-v' is specified). If however the boolean `rv'
- capability and the `-v' command-line option are both
+ when the â-vâ command-line option is omitted, or non-matching
+ lines when â-vâ is specified). If however the boolean ârvâ
+ capability and the â-vâ 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).
+ default is empty (i.e., the terminalâs default color pair).
- `cx='
+ âcx=â
SGR substring for whole context lines (i.e., non-matching
- lines when the `-v' command-line option is omitted, or
- matching lines when `-v' is specified). If however the
- boolean `rv' capability and the `-v' command-line option are
+ lines when the â-vâ command-line option is omitted, or
+ matching lines when â-vâ is specified). If however the
+ boolean ârvâ capability and the â-vâ command-line option are
both specified, it applies to selected non-matching lines
- instead. The default is empty (i.e., the terminal's default
+ instead. The default is empty (i.e., the terminalâs default
color pair).
- `rv'
- Boolean value that reverses (swaps) the meanings of the `sl='
- and `cx=' capabilities when the `-v' command-line option is
+ ârvâ
+ Boolean value that reverses (swaps) the meanings of the âsl=â
+ and âcx=â capabilities when the â-vâ command-line option is
specified. The default is false (i.e., the capability is
omitted).
- `mt=01;31'
+ âmt=01;31â
SGR substring for matching non-empty text in any matching line
- (i.e., a selected line when the `-v' command-line option is
- omitted, or a context line when `-v' is specified). Setting
- this is equivalent to setting both `ms=' and `mc=' at once to
+ (i.e., a selected line when the â-vâ command-line option is
+ omitted, or a context line when â-vâ is specified). Setting
+ this is equivalent to setting both âms=â and âmc=â at once to
the same value. The default is a bold red text foreground
over the current line background.
- `ms=01;31'
+ âms=01;31â
SGR substring for matching non-empty text in a selected line.
- (This is used only when the `-v' command-line option is
- omitted.) The effect of the `sl=' (or `cx=' if `rv')
- capability remains active when this takes effect. The
- default is a bold red text foreground over the current line
+ (This is used only when the â-vâ command-line option is
+ omitted.) The effect of the âsl=â (or âcx=â if ârvâ)
+ capability remains active when this takes effect. The default
+ is a bold red text foreground over the current line
background.
- `mc=01;31'
+ âmc=01;31â
SGR substring for matching non-empty text in a context line.
- (This is used only when the `-v' command-line option is
- specified.) The effect of the `cx=' (or `sl=' if `rv')
- capability remains active when this takes effect. The
- default is a bold red text foreground over the current line
+ (This is used only when the â-vâ command-line option is
+ specified.) The effect of the âcx=â (or âsl=â if ârvâ)
+ capability remains active when this takes effect. The default
+ is a bold red text foreground over the current line
background.
- `fn=35'
+ âfn=35â
SGR substring for file names prefixing any content line. The
- default is a magenta text foreground over the terminal's
+ default is a magenta text foreground over the terminalâs
default background.
- `ln=32'
+ âln=32â
SGR substring for line numbers prefixing any content line.
- The default is a green text foreground over the terminal's
+ The default is a green text foreground over the terminalâs
default background.
- `bn=32'
+ âbn=32â
SGR substring for byte offsets prefixing any content line.
- The default is a green text foreground over the terminal's
+ The default is a green text foreground over the terminalâs
default background.
- `se=36'
+ âse=36â
SGR substring for separators that are inserted between
- selected line fields (`:'), between context line fields (`-'),
+ selected line fields (â:â), between context line fields
(â-â),
and between groups of adjacent lines when nonzero context is
- specified (`--'). The default is a cyan text foreground over
- the terminal's default background.
+ specified (â--â). The default is a cyan text foreground over
+ the terminalâs default background.
- `ne'
+ âneâ
Boolean value that prevents clearing to the end of line using
- Erase in Line (EL) to Right (`\33[K') each time a colorized
+ Erase in Line (EL) to Right (â\33[Kâ) each time a colorized
item ends. This is needed on terminals on which EL is not
supported. It is otherwise useful on terminals for which the
- `back_color_erase' (`bce') boolean `terminfo' capability does
+ âback_color_eraseâ (âbceâ) boolean âterminfoâ capability
does
not apply, 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).
- Note that boolean capabilities have no `='... part. They are
+ Note that boolean capabilities have no â=â... part. They are
omitted (i.e., false) by default and become true when specified.
-`LC_ALL'
-`LC_COLLATE'
-`LANG'
- These variables specify the locale for the `LC_COLLATE' category,
- which might affect how range expressions like `[a-z]' are
+âLC_ALLâ
+âLC_COLLATEâ
+âLANGâ
+ These variables specify the locale for the âLC_COLLATEâ category,
+ which might affect how range expressions like â[a-z]â are
interpreted.
-`LC_ALL'
-`LC_CTYPE'
-`LANG'
- These variables specify the locale for the `LC_CTYPE' category,
- which determines the type of characters, e.g., which characters
- are whitespace.
-
-`LANGUAGE'
-`LC_ALL'
-`LC_MESSAGES'
-`LANG'
- These variables specify the locale for the `LC_MESSAGES' category,
- which determines the language that `grep' uses for messages. The
- default `C' locale uses American English messages.
-
-`POSIXLY_CORRECT'
- If set, `grep' behaves as POSIX requires; otherwise, `grep'
- 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, `POSIXLY_CORRECT' disables special
+âLC_ALLâ
+âLC_CTYPEâ
+âLANGâ
+ These variables specify the locale for the âLC_CTYPEâ category,
+ which determines the type of characters, e.g., which characters are
+ whitespace.
+
+âLANGUAGEâ
+âLC_ALLâ
+âLC_MESSAGESâ
+âLANGâ
+ These variables specify the locale for the âLC_MESSAGESâ category,
+ which determines the language that âgrepâ uses for messages. The
+ default âCâ locale uses American English messages.
+
+âPOSIXLY_CORRECTâ
+ If set, âgrepâ behaves as POSIX requires; otherwise, âgrepâ
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, âPOSIXLY_CORRECTâ disables special
handling of an invalid bracket expression. *Note
invalid-bracket-expr::.
-`_N_GNU_nonoption_argv_flags_'
- (Here `N' is `grep''s numeric process ID.) If the Ith character
- of this environment variable's value is `1', do not consider the
- Ith operand of `grep' 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 `POSIXLY_CORRECT' is not set.
-
+â_N_GNU_nonoption_argv_flags_â
+ (Here âNâ is âgrepââs numeric process ID.) If the Ith character
of
+ this environment variableâs value is â1â, do not consider the Ith
+ operand of âgrepâ 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 âPOSIXLY_CORRECTâ is not set.
2.3 Exit Status
===============
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 `-q' or
-`--quiet' or `--silent' option is used and a line is selected, the exit
-status is 0 even if an error occurred. Other `grep' implementations
-may exit with status greater than 2 on error.
+selected, and 2 if an error occurred. However, if the â-qâ or
â--quietâ
+or â--silentâ option is used and a line is selected, the exit status is
+0 even if an error occurred. Other âgrepâ implementations may exit with
+status greater than 2 on error.
-2.4 `grep' Programs
+2.4 âgrepâ Programs
===================
-`grep' searches the named input files for lines containing a match to
-the given pattern. By default, `grep' prints the matching lines. A
-file named `-' stands for standard input. If no input is specified,
-`grep' searches the working directory `.' if given a command-line
-option specifying recursion; otherwise, `grep' searches standard input.
-There are four major variants of `grep', controlled by the following
-options.
-
-`-G'
-`--basic-regexp'
- Interpret the pattern as a basic regular expression (BRE). This
- is the default.
+âgrepâ searches the named input files for lines containing a match to
+the given pattern. By default, âgrepâ prints the matching lines. A
+file named â-â stands for standard input. If no input is specified,
+âgrepâ searches the working directory â.â if given a command-line
option
+specifying recursion; otherwise, âgrepâ searches standard input. There
+are four major variants of âgrepâ, controlled by the following options.
+
+â-Gâ
+â--basic-regexpâ
+ Interpret the pattern as a basic regular expression (BRE). This is
+ the default.
-`-E'
-`--extended-regexp'
+â-Eâ
+â--extended-regexpâ
Interpret the pattern as an extended regular expression (ERE).
- (`-E' is specified by POSIX.)
-
-`-F'
-`--fixed-strings'
- Interpret the pattern as a list of fixed strings, separated by
- newlines, any of which is to be matched. (`-F' is specified by
- POSIX.)
+ (â-Eâ is specified by POSIX.)
-`-P'
-`--perl-regexp'
- Interpret the pattern as a Perl regular expression. This is
- highly experimental and `grep -P' may warn of unimplemented
- features.
-
-
- In addition, two variant programs `egrep' and `fgrep' are available.
-`egrep' is the same as `grep -E'. `fgrep' is the same as `grep -F'.
-Direct invocation as either `egrep' or `fgrep' is deprecated, but is
+â-Fâ
+â--fixed-stringsâ
+ Interpret the pattern as a list of fixed strings (instead of
+ regular expressions), separated by newlines, any of which is to be
+ matched. (â-Fâ is specified by POSIX.)
+
+â-Pâ
+â--perl-regexpâ
+ Interpret the pattern as a Perl regular expression. This is highly
+ experimental and âgrep -Pâ may warn of unimplemented features.
+
+ In addition, two variant programs âegrepâ and âfgrepâ are available.
+âegrepâ is the same as âgrep -Eâ. âfgrepâ is the same as âgrep
-Fâ.
+Direct invocation as either âegrepâ or âfgrepâ is deprecated, but is
provided to allow historical applications that rely on them to run
unmodified.
3 Regular Expressions
*********************
-A "regular expression" is a pattern that describes a set of strings.
+A âregular expressionâ 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.
-`grep' understands three different versions of regular expression
-syntax: "basic," (BRE) "extended" (ERE) and "perl". In GNU `grep',
+âgrepâ understands three different versions of regular expression
+syntax: âbasic,â (BRE) âextendedâ (ERE) and âperlâ. In GNU
âgrepâ,
there is no difference in available functionality between the basic and
extended syntaxes. In other implementations, basic regular expressions
are less powerful. The following description applies to extended
regular expressions; differences for basic regular expressions are
summarized afterwards. Perl regular expressions give additional
functionality, and are documented in the pcresyntax(3) and
-pcrepattern(3) manual pages, but may not be available on every system.
+pcrepattern(3) manual pages, but work only if PCRE is available in the
+system.
3.1 Fundamental Structure
=========================
-The fundamental building blocks are the regular expressions that match
-a single character. Most characters, including all letters and digits,
+The fundamental building blocks are the regular expressions that match a
+single character. Most characters, including all letters and digits,
are regular expressions that match themselves. Any meta-character with
special meaning may be quoted by preceding it with a backslash.
A regular expression may be followed by one of several repetition
operators:
-`.'
- The period `.' matches any single character.
+â.â
+ The period â.â matches any single character.
-`?'
+â?â
The preceding item is optional and will be matched at most once.
-`*'
+â*â
The preceding item will be matched zero or more times.
-`+'
+â+â
The preceding item will be matched one or more times.
-`{N}'
+â{N}â
The preceding item is matched exactly N times.
-`{N,}'
+â{N,}â
The preceding item is matched N or more times.
-`{,M}'
+â{,M}â
The preceding item is matched at most M times. This is a GNU
extension.
-`{N,M}'
- The preceding item is matched at least N times, but not more than
- M times.
-
+â{N,M}â
+ The preceding item is matched at least N times, but not more than M
+ times.
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.
- Two regular expressions may be joined by the infix operator `|'; the
+ Two regular expressions may be joined by the infix operator â|â; the
resulting regular expression matches any string matching either
alternate expression.
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 `)' matches just itself.
+An unmatched â)â matches just itself.
3.2 Character Classes and Bracket Expressions
=============================================
-A "bracket expression" is a list of characters enclosed by `[' and `]'.
+A âbracket expressionâ is a list of characters enclosed by â[â and
â]â.
It matches any single character in that list; if the first character of
-the list is the caret `^', then it matches any character *not* in the
-list. For example, the regular expression `[0123456789]' matches any
+the list is the caret â^â, then it matches any character *not* in the
+list. For example, the regular expression â[0123456789]â matches any
single digit.
- Within a bracket expression, a "range expression" consists of two
+ Within a bracket expression, a ârange expressionâ 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,
-`[a-d]' is equivalent to `[abcd]'. In other locales, the sorting
-sequence is not specified, and `[a-d]' might be equivalent to `[abcd]'
-or to `[aBbCcDd]', 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 `C'
-locale by setting the `LC_ALL' environment variable to the value `C'.
+the sorting sequence is the native character order; for example, â[a-d]â
+is equivalent to â[abcd]â. In other locales, the sorting sequence is
+not specified, and â[a-d]â might be equivalent to â[abcd]â or to
+â[aBbCcDd]â, 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 âCâ
+locale by setting the âLC_ALLâ environment variable to the value âCâ.
Finally, certain named classes of characters are predefined within
bracket expressions, as follows. Their interpretation depends on the
-`LC_CTYPE' locale; for example, `[[:alnum:]]' means the character class
+âLC_CTYPEâ locale; for example, â[[:alnum:]]â means the character class
of numbers and letters in the current locale.
-`[:alnum:]'
- Alphanumeric characters: `[:alpha:]' and `[:digit:]'; in the `C'
+â[:alnum:]â
+ Alphanumeric characters: â[:alpha:]â and â[:digit:]â; in the
âCâ
locale and ASCII character encoding, this is the same as
- `[0-9A-Za-z]'.
+ â[0-9A-Za-z]â.
-`[:alpha:]'
- Alphabetic characters: `[:lower:]' and `[:upper:]'; in the `C'
+â[:alpha:]â
+ Alphabetic characters: â[:lower:]â and â[:upper:]â; in the âCâ
locale and ASCII character encoding, this is the same as
- `[A-Za-z]'.
+ â[A-Za-z]â.
-`[:blank:]'
+â[:blank:]â
Blank characters: space and tab.
-`[:cntrl:]'
+â[:cntrl:]â
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.
-`[:digit:]'
- Digits: `0 1 2 3 4 5 6 7 8 9'.
+â[:digit:]â
+ Digits: â0 1 2 3 4 5 6 7 8 9â.
-`[:graph:]'
- Graphical characters: `[:alnum:]' and `[:punct:]'.
+â[:graph:]â
+ Graphical characters: â[:alnum:]â and â[:punct:]â.
-`[:lower:]'
- Lower-case letters; in the `C' locale and ASCII character
- encoding, this is `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'.
-
-`[:print:]'
- Printable characters: `[:alnum:]', `[:punct:]', and space.
-
-`[:punct:]'
- Punctuation characters; in the `C' locale and ASCII character
- encoding, this is `! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
- ] ^ _ ` { | } ~'.
-
-`[:space:]'
- Space characters: in the `C' locale, this is tab, newline,
- vertical tab, form feed, carriage return, and space. *Note
- Usage::, for more discussion of matching newlines.
-
-`[:upper:]'
- Upper-case letters: in the `C' locale and ASCII character
- encoding, this is `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'.
+â[:lower:]â
+ Lower-case letters; in the âCâ locale and ASCII character encoding,
+ this is â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â.
+
+â[:print:]â
+ Printable characters: â[:alnum:]â, â[:punct:]â, and space.
+
+â[:punct:]â
+ Punctuation characters; in the âCâ locale and ASCII character
+ encoding, this is â! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
+ ] ^ _ ` { | } ~â.
+
+â[:space:]â
+ Space characters: in the âCâ locale, this is tab, newline, vertical
+ tab, form feed, carriage return, and space. *Note Usage::, for
+ more discussion of matching newlines.
+
+â[:upper:]â
+ Upper-case letters: in the âCâ locale and ASCII character encoding,
+ this is â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â.
-`[:xdigit:]'
- Hexadecimal digits: `0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f'.
+â[:xdigit:]â
+ Hexadecimal digits: â0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e fâ.
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.
If you mistakenly omit the outer brackets, and search for say,
-`[:upper:]', GNU `grep' prints a diagnostic and exits with status 2, on
+â[:upper:]â, GNU âgrepâ prints a diagnostic and exits with status 2, on
the assumption that you did not intend to search for the nominally
-equivalent regular expression: `[:epru]'. Set the `POSIXLY_CORRECT'
+equivalent regular expression: â[:epru]â. Set the âPOSIXLY_CORRECTâ
environment variable to disable this feature.
Most meta-characters lose their special meaning inside bracket
expressions.
-`]'
- ends the bracket expression if it's not the first list item. So,
- if you want to make the `]' character a list item, you must put it
+â]â
+ ends the bracket expression if itâs not the first list item. So,
+ if you want to make the â]â character a list item, you must put it
first.
-`[.'
+â[.â
represents the open collating symbol.
-`.]'
+â.]â
represents the close collating symbol.
-`[='
+â[=â
represents the open equivalence class.
-`=]'
+â=]â
represents the close equivalence class.
-`[:'
+â[:â
represents the open character class symbol, and should be followed
by a valid character class name.
-`:]'
+â:]â
represents the close character class symbol.
-`-'
- represents the range if it's not first or last in a list or the
+â-â
+ represents the range if itâs not first or last in a list or the
ending point of a range.
-`^'
- represents the characters not in the list. If you want to make
- the `^' character a list item, place it anywhere but first.
-
+â^â
+ represents the characters not in the list. If you want to make the
+ â^â character a list item, place it anywhere but first.
3.3 The Backslash Character and Special Expressions
===================================================
-The `\' character, when followed by certain ordinary characters, takes
-a special meaning:
+The â\â character, when followed by certain ordinary characters, takes a
+special meaning:
-`\b'
+â\bâ
Match the empty string at the edge of a word.
-`\B'
- Match the empty string provided it's not at the edge of a word.
+â\Bâ
+ Match the empty string provided itâs not at the edge of a word.
-`\<'
+â\<â
Match the empty string at the beginning of word.
-`\>'
+â\>â
Match the empty string at the end of word.
-`\w'
- Match word constituent, it is a synonym for `[_[:alnum:]]'.
-
-`\W'
- Match non-word constituent, it is a synonym for `[^_[:alnum:]]'.
+â\wâ
+ Match word constituent, it is a synonym for â[_[:alnum:]]â.
-`\s'
- Match whitespace, it is a synonym for `[[:space:]]'.
+â\Wâ
+ Match non-word constituent, it is a synonym for â[^_[:alnum:]]â.
-`\S'
- Match non-whitespace, it is a synonym for `[^[:space:]]'.
+â\sâ
+ Match whitespace, it is a synonym for â[[:space:]]â.
+â\Sâ
+ Match non-whitespace, it is a synonym for â[^[:space:]]â.
- For example, `\brat\b' matches the separate word `rat', `\Brat\B'
-matches `crate' but not `furry rat'.
+ For example, â\brat\bâ matches the separate word âratâ,
â\Brat\Bâ
+matches âcrateâ but not âfurry ratâ.
3.4 Anchoring
=============
-The caret `^' and the dollar sign `$' are meta-characters that
+The caret â^â and the dollar sign â$â are meta-characters that
respectively match the empty string at the beginning and end of a line.
-They are termed "anchors", since they force the match to be "anchored"
+They are termed âanchorsâ, since they force the match to be âanchoredâ
to beginning or end of a line, respectively.
3.5 Back-references and Subexpressions
======================================
-The back-reference `\N', where N is a single digit, matches the
+The back-reference â\Nâ, where N is a single digit, matches the
substring previously matched by the Nth parenthesized subexpression of
-the regular expression. For example, `(a)\1' matches `aa'. When used
+the regular expression. For example, â(a)\1â matches âaaâ. When used
with alternation, if the group does not participate in the match then
-the back-reference makes the whole match fail. For example, `a(.)|b\1'
-will not match `ba'. When multiple regular expressions are given with
-`-e' or from a file (`-f FILE'), back-references are local to each
+the back-reference makes the whole match fail. For example, âa(.)|b\1â
+will not match âbaâ. When multiple regular expressions are given with
+â-eâ or from a file (â-f FILEâ), back-references are local to each
expression.
3.6 Basic vs Extended Regular Expressions
=========================================
-In basic regular expressions the meta-characters `?', `+', `{', `|',
-`(', and `)' lose their special meaning; instead use the backslashed
-versions `\?', `\+', `\{', `\|', `\(', and `\)'.
-
- Traditional `egrep' did not support the `{' meta-character, and some
-`egrep' implementations support `\{' instead, so portable scripts
-should avoid `{' in `grep -E' patterns and should use `[{]' to match a
-literal `{'.
-
- GNU `grep -E' attempts to support traditional usage by assuming that
-`{' is not special if it would be the start of an invalid interval
-specification. For example, the command `grep -E '{1'' searches for
-the two-character string `{1' instead of reporting a syntax error in
-the regular expression. POSIX allows this behavior as an extension,
-but portable scripts should avoid it.
+In basic regular expressions the meta-characters â?â, â+â, â{â,
â|â,
+â(â, and â)â lose their special meaning; instead use the backslashed
+versions â\?â, â\+â, â\{â, â\|â, â\(â, and â\)â.
+
+ Traditional âegrepâ did not support the â{â meta-character, and some
+âegrepâ implementations support â\{â instead, so portable scripts
should
+avoid â{â in âgrep -Eâ patterns and should use â[{]â to match a
literal
+â{â.
+
+ GNU âgrep -Eâ attempts to support traditional usage by assuming that
+â{â is not special if it would be the start of an invalid interval
+specification. For example, the command âgrep -E '{1'â searches for the
+two-character string â{1â instead of reporting a syntax error in the
+regular expression. POSIX allows this behavior as an extension, but
+portable scripts should avoid it.
4 Usage
*******
-Here is an example command that invokes GNU `grep':
+Here is an example command that invokes GNU âgrepâ:
grep -i 'hello.*world' menu.h main.c
-This lists all lines in the files `menu.h' and `main.c' that contain
-the string `hello' followed by the string `world'; this is because `.*'
+This lists all lines in the files âmenu.hâ and âmain.câ that contain
the
+string âhelloâ followed by the string âworldâ; this is because â.*â
matches zero or more characters within a line. *Note Regular
-Expressions::. The `-i' option causes `grep' to ignore case, causing
-it to match the line `Hello, world!', which it would not otherwise
-match. *Note Invoking::, for more details about how to invoke `grep'.
+Expressions::. The â-iâ option causes âgrepâ to ignore case, causing
it
+to match the line âHello, world!â, which it would not otherwise match.
+*Note Invoking::, for more details about how to invoke âgrepâ.
- Here are some common questions and answers about `grep' usage.
+ Here are some common questions and answers about âgrepâ usage.
1. How can I list just the names of matching files?
grep -l 'main' *.c
lists the names of all C files in the current directory whose
- contents mention `main'.
+ contents mention âmainâ.
2. How do I search directories recursively?
grep -r 'hello' /home/gigi
- searches for `hello' in all files under the `/home/gigi' directory.
- For more control over which files are searched, use `find',
- `grep', and `xargs'. For example, the following command searches
- only C files:
+ searches for âhelloâ in all files under the â/home/gigiâ
directory.
+ For more control over which files are searched, use âfindâ,
âgrepâ,
+ and âxargsâ. For example, the following command searches only C
+ files:
find /home/gigi -name '*.c' -print0 | xargs -0r grep -H 'hello'
@@ -1047,31 +1032,31 @@
grep -H 'hello' *.c
- which merely looks for `hello' in all files in the current
- directory whose names end in `.c'. The `find ...' command line
+ which merely looks for âhelloâ in all files in the current
+ directory whose names end in â.câ. The âfind ...â command line
above is more similar to the command:
grep -rH --include='*.c' 'hello' /home/gigi
- 3. What if a pattern has a leading `-'?
+ 3. What if a pattern has a leading â-â?
grep -e '--cut here--' *
- searches for all lines matching `--cut here--'. Without `-e',
- `grep' would attempt to parse `--cut here--' as a list of options.
+ searches for all lines matching â--cut here--â. Without â-eâ,
+ âgrepâ would attempt to parse â--cut here--â as a list of options.
4. Suppose I want to search for a whole word, not a part of a word?
grep -w 'hello' *
- searches only for instances of `hello' that are entire words; it
- does not match `Othello'. For more control, use `\<' and `\>' to
+ searches only for instances of âhelloâ that are entire words; it
+ does not match âOthelloâ. For more control, use â\<â and
â\>â to
match the start and end of words. For example:
grep 'hello\>' *
- searches only for words ending in `hello', so it matches the word
- `Othello'.
+ searches only for words ending in âhelloâ, so it matches the word
+ âOthelloâ.
5. How do I output context around the matching lines?
@@ -1079,9 +1064,9 @@
prints two lines of context around each matching line.
- 6. How do I force `grep' to print the name of the file?
+ 6. How do I force âgrepâ to print the name of the file?
- Append `/dev/null':
+ Append â/dev/nullâ:
grep 'eli' /etc/passwd /dev/null
@@ -1089,59 +1074,59 @@
/etc/passwd:eli:x:2098:1000:Eli Smith:/home/eli:/bin/bash
- Alternatively, use `-H', which is a GNU extension:
+ Alternatively, use â-Hâ, which is a GNU extension:
grep -H 'eli' /etc/passwd
- 7. Why do people use strange regular expressions on `ps' output?
+ 7. Why do people use strange regular expressions on âpsâ output?
ps -ef | grep '[c]ron'
If the pattern had been written without the square brackets, it
- would have matched not only the `ps' output line for `cron', but
- also the `ps' output line for `grep'. Note that on some platforms,
- `ps' limits the output to the width of the screen; `grep' does not
+ would have matched not only the âpsâ output line for âcronâ, but
+ also the âpsâ output line for âgrepâ. Note that on some
platforms,
+ âpsâ limits the output to the width of the screen; âgrepâ does not
have any limit on the length of a line except the available memory.
- 8. Why does `grep' report "Binary file matches"?
+ 8. Why does âgrepâ report âBinary file matchesâ?
- If `grep' 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 `grep' suppresses output from files
- that appear to be binary files. To force GNU `grep' to output
- lines even from files that appear to be binary, use the `-a' or
- `--binary-files=text' option. To eliminate the "Binary file
- matches" messages, use the `-I' or `--binary-files=without-match'
+ If âgrepâ 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 âgrepâ suppresses output from files that
+ appear to be binary files. To force GNU âgrepâ to output lines
+ even from files that appear to be binary, use the â-aâ or
+ â--binary-files=textâ option. To eliminate the âBinary file
+ matchesâ messages, use the â-Iâ or
â--binary-files=without-matchâ
option.
- 9. Why doesn't `grep -lv' print non-matching file names?
+ 9. Why doesnât âgrep -lvâ print non-matching file names?
- `grep -lv' lists the names of all files containing one or more
+ âgrep -lvâ 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 `-L' or `--files-without-match'
+ contain no matching lines, use the â-Lâ or â--files-without-matchâ
option.
- 10. I can do "OR" with `|', but what about "AND"?
+ 10. I can do âORâ with â|â, but what about âANDâ?
grep 'paul' /etc/motd | grep 'franc,ois'
- finds all lines that contain both `paul' and `franc,ois'.
+ finds all lines that contain both âpaulâ and âfranc,oisâ.
11. Why does the empty pattern match every input line?
- The `grep' command searches for lines that contain strings that
- match a pattern. Every line contains the empty string, so an
- empty pattern causes `grep' to find a match on each line. It is
- not the only such pattern: `^', `$', `.*', and many other patterns
- cause `grep' to match every line.
-
- To match empty lines, use the pattern `^$'. To match blank lines,
- use the pattern `^[[:blank:]]*$'. To match no lines at all, use
- the command `grep -f /dev/null'.
+ The âgrepâ command searches for lines that contain strings that
+ match a pattern. Every line contains the empty string, so an empty
+ pattern causes âgrepâ to find a match on each line. It is not the
+ only such pattern: â^â, â$â, â.*â, and many other patterns
cause
+ âgrepâ to match every line.
+
+ To match empty lines, use the pattern â^$â. To match blank lines,
+ use the pattern â^[[:blank:]]*$â. To match no lines at all, use
+ the command âgrep -f /dev/nullâ.
12. How can I search in both standard input and in files?
- Use the special file name `-':
+ Use the special file name â-â:
cat /etc/passwd | grep 'alain' - /etc/motd
@@ -1152,7 +1137,7 @@
grep -w -e '\(.\)\(.\).\2\1' file
- It matches the word "radar" or "civic."
+ It matches the word âradarâ or âcivic.â
Guglielmo Bondioni proposed a single RE that finds all palindromes
up to 19 characters long using 9 subexpressions and
@@ -1161,54 +1146,52 @@
grep -E -e
'^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?\9\8\7\6\5\4\3\2\1$' file
Note this is done by using GNU ERE extensions; it might not be
- portable to other implementations of `grep'.
+ portable to other implementations of âgrepâ.
14. Why is this back-reference failing?
echo 'ba' | grep -E '(a)\1|b\1'
- This gives no output, because the first alternate `(a)\1' does not
- match, as there is no `aa' in the input, so the `\1' 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.)
+ This gives no output, because the first alternate â(a)\1â does not
+ match, as there is no âaaâ in the input, so the â\1â 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.)
15. How can I match across lines?
Standard grep cannot do this, as it is fundamentally line-based.
- Therefore, merely using the `[:space:]' character class does not
+ Therefore, merely using the â[:space:]â character class does not
match newlines in the way you might expect.
- With the GNU `grep' option `-z' (`--null-data'), each input "line"
- is terminated by a null byte; *note Other Options::. 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 `-q', e.g.:
+ With the GNU âgrepâ option â-zâ (â--null-dataâ), each input
âlineâ
+ is terminated by a null byte; *note Other Options::. 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 â-qâ, e.g.:
printf 'foo\nbar\n' | grep -z -q 'foo[[:space:]]\+bar'
- If this does not suffice, you can transform the input before
- giving it to `grep', or turn to `awk', `sed', `perl', or many
- other utilities that are designed to operate across lines.
+ If this does not suffice, you can transform the input before giving
+ it to âgrepâ, or turn to âawkâ, âsedâ, âperlâ, or many
other
+ utilities that are designed to operate across lines.
- 16. What do `grep', `fgrep', and `egrep' stand for?
+ 16. What do âgrepâ, âfgrepâ, and âegrepâ stand for?
- The name `grep' comes from the way line editing was done on Unix.
- For example, `ed' uses the following syntax to print a list of
+ The name âgrepâ comes from the way line editing was done on Unix.
+ For example, âedâ uses the following syntax to print a list of
matching lines on the screen:
global/regular expression/print
g/re/p
- `fgrep' stands for Fixed `grep'; `egrep' stands for Extended
- `grep'.
-
+ âfgrepâ stands for Fixed âgrepâ; âegrepâ stands for Extended
+ âgrepâ.
5 Reporting bugs
****************
-Bug reports can be found at the GNU bug report logs for `grep'
+Bug reports can be found at the GNU bug report logs for âgrepâ
(http://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep). If you find a
bug not listed there, please email it to <address@hidden> to create a
new bug report.
@@ -1216,44 +1199,43 @@
5.1 Known Bugs
==============
-Large repetition counts in the `{n,m}' construct may cause `grep' to
-use lots of memory. In addition, certain other obscure regular
-expressions require exponential time and space, and may cause `grep' to
-run out of memory.
+Large repetition counts in the â{n,m}â construct may cause âgrepâ to
use
+lots of memory. In addition, certain other obscure regular expressions
+require exponential time and space, and may cause âgrepâ to run out of
+memory.
Back-references are very slow, and may require exponential time.
6 Copying
*********
-GNU `grep' is licensed under the GNU GPL, which makes it "free
-software".
+GNU âgrepâ is licensed under the GNU GPL, which makes it âfree
+softwareâ.
- 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 `grep' 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.
+ 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 âgrepâ 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.
- This general method of licensing software is sometimes called "open
-source". The GNU project prefers the term "free software" for reasons
+ This general method of licensing software is sometimes called âopen
+sourceâ. The GNU project prefers the term âfree softwareâ for reasons
outlined at
-`http://www.gnu.org/philosophy/open-source-misses-the-point.html'.
+<http://www.gnu.org/philosophy/open-source-misses-the-point.html>.
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
-`http://www.gnu.org/licenses/gpl.html'.
+documentation license is included below. The license for the program is
+available with the source code, or at
+<http://www.gnu.org/licenses/gpl.html>.
6.1 GNU Free Documentation License
==================================
Version 1.3, 3 November 2008
- Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- `http://fsf.org/'
+ Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -1261,14 +1243,14 @@
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
- functional and useful document "free" in the sense of freedom: to
+ functional and useful document âfreeâ 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.
- This License is a kind of "copyleft", which means that derivative
+ 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.
@@ -1278,29 +1260,29 @@
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
+ 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.
1. APPLICABILITY AND DEFINITIONS
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
+ 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 work under the conditions stated herein. The
- "Document", below, refers to any such manual or work. Any member
- of the public is a 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.
+ âDocumentâ, below, refers to any such manual or work. Any member
+ of the public is a 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.
- A "Modified Version" of the Document means any work containing the
+ 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.
- A "Secondary Section" is a named appendix or a front-matter section
+ 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
@@ -1309,62 +1291,62 @@
of legal, commercial, philosophical, ethical or political position
regarding them.
- 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.
+ 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.
- The "Cover Texts" are certain short passages of text that are
+ 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.
- A "Transparent" copy of the Document means a machine-readable copy,
+ 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 pixels) generic paint programs or (for drawings) some
- widely available drawing editor, and that is suitable for input to
- text formatters or for automatic translation to a variety of
- formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup, or absence of
- markup, has been arranged to thwart 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".
+ straightforwardly with generic text editors or (for images composed
+ of pixels) generic paint programs or (for drawings) some widely
+ available drawing editor, and that is suitable for input to text
+ formatters or for automatic translation to a variety of formats
+ suitable for input to text formatters. A copy made in an otherwise
+ Transparent file format whose markup, or absence of markup, has
+ been arranged to thwart 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â.
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, PostScript or PDF designed for
- human modification. Examples of transparent image formats include
- PNG, XCF and JPG. Opaque formats include proprietary formats that
- can be read and edited only by proprietary word processors, SGML or
- XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML, PostScript or PDF
- produced by some word processors for output purposes only.
+ SGML or XML using a publicly available DTD, and standard-conforming
+ simple HTML, PostScript or PDF designed for human modification.
+ Examples of transparent image formats include PNG, XCF and JPG.
+ Opaque formats include proprietary formats that can be read and
+ edited only by proprietary word processors, SGML or XML for which
+ the DTD and/or processing tools are not generally available, and
+ the machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
- The "Title Page" means, for a printed book, the title page itself,
+ 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, preceding the beginning of the body of the text.
+ 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, preceding the beginning of the body of the text.
- The "publisher" means any person or entity that distributes copies
+ The âpublisherâ means any person or entity that distributes copies
of the Document to the public.
- A section "Entitled XYZ" means a named subunit of the Document
+ 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
+ â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.
The Document may include Warranty Disclaimers next to the notice
@@ -1384,8 +1366,8 @@
may not use technical measures to obstruct or control the reading
or further 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.
+ distribute a large enough number of copies you must also follow the
+ conditions in section 3.
You may also lend copies, under the same conditions stated above,
and you may publicly display copies.
@@ -1394,17 +1376,16 @@
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
+ 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 you as the publisher of these copies. The
- front cover must present the full title with all words of the
- title equally prominent and visible. You may add other material
- on the covers in addition. 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.
+ front cover must present the full title with all words of the title
+ equally prominent and visible. You may add other material on the
+ covers in addition. 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.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
@@ -1412,40 +1393,39 @@
adjacent pages.
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 public has access to download
- using public-standard network protocols a complete Transparent
- copy of the Document, free of added material. If you use the
- latter option, you must take reasonably prudent steps, when you
- begin distribution of Opaque copies in quantity, to ensure that
- this Transparent copy will remain thus accessible at the stated
- 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.
+ 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 public has access to download using public-standard
+ network protocols a complete Transparent copy of the Document, free
+ of added material. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated 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.
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.
+ 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.
4. MODIFICATIONS
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:
+ 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:
A. 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.
+ 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.
B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in
@@ -1468,72 +1448,71 @@
the Addendum below.
G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document's
+ Sections and required Cover Texts given in the Documentâs
license notice.
H. Include an unaltered copy of this License.
- I. Preserve the section Entitled "History", Preserve its Title,
+ I. 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 stating the title, year, authors,
- and publisher of the Document as given on its Title Page,
- then add an item describing the Modified Version as stated in
- the previous sentence.
+ 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 stating the title, year, authors, and
+ publisher of the Document as given on its Title Page, then add
+ an item describing the Modified Version as stated in the
+ previous sentence.
J. 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. You may omit a network location for a
- work that was published at least four years before the
- Document itself, or if the original publisher of the version
- it refers to gives permission.
-
- K. 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
+ previous versions it was based on. These may be placed in the
+ âHistoryâ section. You may omit a network location for a work
+ that was published at least four years before the Document
+ itself, or if the original publisher of the version it refers
+ to gives permission.
+
+ K. 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.
- L. 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.
+ L. 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.
- M. Delete any section Entitled "Endorsements". Such a section
+ M. Delete any section Entitled âEndorsementsâ. Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled
- "Endorsements" or to conflict in title with any Invariant
+ âEndorsementsâ or to conflict in title with any Invariant
Section.
O. Preserve any Warranty Disclaimers.
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. These titles must be distinct from any
- other section titles.
+ 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. These titles must be distinct from any other
+ section titles.
- You may add a section Entitled "Endorsements", provided it contains
+ 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.
+ partiesâfor example, statements of peer review or that the text has
+ been approved by an organization as the authoritative definition of
+ a standard.
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 through arrangements made by) any one entity. If the
- Document already includes a cover text for the same cover,
- previously added by you or 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.
+ 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
+ through arrangements made by) any one entity. If the Document
+ already includes a cover text for the same cover, previously added
+ by you or 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.
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
@@ -1543,8 +1522,8 @@
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,
+ 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.
@@ -1560,10 +1539,10 @@
combined work.
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."
+ â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.â
6. COLLECTIONS OF DOCUMENTS
@@ -1571,29 +1550,29 @@
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.
+ rules of this License for verbatim copying of each of the documents
+ in all other respects.
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.
+ a copy of this License into the extracted document, and follow this
+ License in all other respects regarding verbatim copying of that
+ document.
7. AGGREGATION WITH INDEPENDENT WORKS
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
+ 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
+ legal rights 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.
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
+ of 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
@@ -1615,8 +1594,8 @@
this License or a notice or disclaimer, the original version will
prevail.
- If a section in the Document is Entitled "Acknowledgements",
- "Dedications", or "History", the requirement (section 4) to
+ 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.
@@ -1629,8 +1608,8 @@
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
+ 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.
@@ -1642,10 +1621,10 @@
after your receipt of the notice.
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.
+ 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.
10. FUTURE REVISIONS OF THIS LICENSE
@@ -1653,41 +1632,41 @@
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
- `http://www.gnu.org/copyleft/'.
+ <http://www.gnu.org/copyleft/>.
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
+ 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 of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version 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 version permanently
+ published (not as a draft) by the Free Software Foundation. If the
+ Document does not specify a version 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 version permanently
authorizes you to choose that version for the Document.
11. RELICENSING
- "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ â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
+ A âMassive Multiauthor Collaborationâ (or âMMCâ) contained in the
site means any set of copyrightable works thus published on the MMC
site.
- "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ â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.
- "Incorporate" means to publish or republish a Document, in whole or
+ âIncorporateâ means to publish or republish a Document, in whole or
in part, as part of another Document.
- An MMC is "eligible for relicensing" if it is licensed under this
+ 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
@@ -1698,7 +1677,6 @@
site under CC-BY-SA on the same site at any time before August 1,
2009, provided the MMC is eligible for relicensing.
-
ADDENDUM: How to use this License for your documents
====================================================
@@ -1715,7 +1693,7 @@
Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts." line with this:
+Texts, replace the âwithâ¦Texts.â line with this:
with the Invariant Sections being LIST THEIR TITLES, with
the Front-Cover Texts being LIST, and with the Back-Cover Texts
@@ -1726,254 +1704,479 @@
situation.
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.
+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.
Index
*****
-*: See 3.1. (line 784)
-+: See 3.1. (line 787)
---after-context: See 2.1.5. (line 339)
---basic-regexp: See 2.4. (line 723)
---before-context: See 2.1.5. (line 343)
---binary: See 2.1.7. (line 486)
---binary-files: See 2.1.6. (line 390)
---byte-offset: See 2.1.4. (line 268)
---color: See 2.1.3. (line 171)
---colour: See 2.1.3. (line 171)
---context: See 2.1.5. (line 348)
---count: See 2.1.3. (line 165)
---dereference-recursive: See 2.1.6. (line 473)
---devices: See 2.1.6. (line 417)
---directories: See 2.1.6. (line 429)
---exclude: See 2.1.6. (line 440)
---exclude-dir: See 2.1.6. (line 451)
---exclude-from: See 2.1.6. (line 447)
---extended-regexp: See 2.4. (line 728)
---file: See 2.1.2. (line 116)
---files-with-matches: See 2.1.3. (line 192)
---files-without-match: See 2.1.3. (line 186)
---fixed-strings: See 2.4. (line 733)
---group-separator: See 2.1.5. (line 351)
---help: See 2.1.1. (line 96)
---ignore-case: See 2.1.2. (line 123)
---include: See 2.1.6. (line 460)
---initial-tab: See 2.1.4. (line 299)
---invert-match: See 2.1.2. (line 142)
---label: See 2.1.4. (line 286)
---line-buffered: See 2.1.7. (line 481)
---line-number: See 2.1.4. (line 294)
---line-regexp: See 2.1.2. (line 156)
---max-count: See 2.1.3. (line 199)
---no-filename: See 2.1.4. (line 281)
---no-messages: See 2.1.3. (line 245)
---null: See 2.1.4. (line 319)
---null-data: See 2.1.7. (line 499)
---only-matching: See 2.1.3. (line 232)
---perl-regexp: See 2.4. (line 739)
---quiet: See 2.1.3. (line 238)
---recursive: See 2.1.6. (line 465)
---regexp=PATTERN: See 2.1.2. (line 110)
---silent: See 2.1.3. (line 238)
---text: See 2.1.6. (line 386)
---unix-byte-offsets: See 2.1.4. (line 309)
---version: See 2.1.1. (line 101)
---with-filename: See 2.1.4. (line 276)
---word-regexp: See 2.1.2. (line 147)
--a: See 2.1.6. (line 386)
--A: See 2.1.5. (line 339)
--B: See 2.1.5. (line 343)
--b: See 2.1.4. (line 268)
--C: See 2.1.5. (line 348)
--c: See 2.1.3. (line 165)
--d: See 2.1.6. (line 429)
--D: See 2.1.6. (line 417)
--E: See 2.4. (line 728)
--e: See 2.1.2. (line 110)
--F: See 2.4. (line 733)
--f: See 2.1.2. (line 116)
--G: See 2.4. (line 723)
--h: See 2.1.4. (line 281)
--H: See 2.1.4. (line 276)
--i: See 2.1.2. (line 123)
--l: See 2.1.3. (line 192)
--L: See 2.1.3. (line 186)
--m: See 2.1.3. (line 199)
--n: See 2.1.4. (line 294)
--NUM: See 2.1.5. (line 348)
--o: See 2.1.3. (line 232)
--P: See 2.4. (line 739)
--q: See 2.1.3. (line 238)
--R: See 2.1.6. (line 473)
--r: See 2.1.6. (line 465)
--s: See 2.1.3. (line 245)
--T: See 2.1.4. (line 299)
--U: See 2.1.7. (line 486)
--u: See 2.1.4. (line 309)
--v: See 2.1.2. (line 142)
--V: See 2.1.1. (line 101)
--w: See 2.1.2. (line 147)
--x: See 2.1.2. (line 156)
--y: See 2.1.2. (line 123)
--z: See 2.1.7. (line 499)
--Z: See 2.1.4. (line 319)
-.: See 3.1. (line 778)
-?: See 3.1. (line 781)
-_N_GNU_nonoption_argv_flags_ environment variable:See 2.2. (line 691)
-after context: See 2.1.5. (line 339)
-alnum character class: See 3.2. (line 844)
-alpha character class: See 3.2. (line 849)
-alphabetic characters: See 3.2. (line 849)
-alphanumeric characters: See 3.2. (line 844)
-anchoring: See 3.4. (line 976)
-asterisk: See 3.1. (line 784)
-back-reference: See 3.5. (line 984)
-backslash: See 3.3. (line 942)
-basic regular expressions: See 3.6. (line 996)
-before context: See 2.1.5. (line 343)
-binary files: See 2.1.6. (line 386)
-binary files, MS-DOS/MS-Windows: See 2.1.7. (line 486)
-blank character class: See 3.2. (line 854)
-blank characters: See 3.2. (line 854)
-bn GREP_COLORS capability: See 2.2. (line 635)
-braces, first argument omitted: See 3.1. (line 796)
-braces, one argument: See 3.1. (line 790)
-braces, second argument omitted: See 3.1. (line 793)
-braces, two arguments: See 3.1. (line 800)
-bracket expression: See 3.2. (line 821)
-Bugs, known: See 5.1. (line 1219)
-bugs, reporting: See 5. (line 1211)
-byte offset: See 2.1.4. (line 268)
-byte offsets, on MS-DOS/MS-Windows: See 2.1.4. (line 309)
-case insensitive search: See 2.1.2. (line 123)
-changing name of standard input: See 2.1.4. (line 286)
-character class: See 3.2. (line 821)
-character classes: See 3.2. (line 843)
-character type: See 2.2. (line 662)
-classes of characters: See 3.2. (line 843)
-cntrl character class: See 3.2. (line 857)
-context: See 2.1.5. (line 348)
-context lines, after match: See 2.1.5. (line 339)
-context lines, before match: See 2.1.5. (line 343)
-control characters: See 3.2. (line 857)
-copying: See 6. (line 1229)
-counting lines: See 2.1.3. (line 165)
-cx GREP_COLORS capability: See 2.2. (line 586)
-default options environment variable: See 2.2. (line 546)
-device search: See 2.1.6. (line 417)
-digit character class: See 3.2. (line 862)
-digit characters: See 3.2. (line 862)
-directory search: See 2.1.6. (line 429)
-dot: See 3.1. (line 778)
-environment variables: See 2.2. (line 545)
-exclude directories: See 2.1.6. (line 451)
-exclude files: See 2.1.6. (line 440)
-exit status: See 2.3. (line 704)
-FAQ about grep usage: See 4. (line 1026)
-files which don't match: See 2.1.3. (line 186)
-fn GREP_COLORS capability: See 2.2. (line 625)
-graph character class: See 3.2. (line 865)
-graphic characters: See 3.2. (line 865)
-grep programs: See 2.4. (line 713)
-GREP_COLOR environment variable: See 2.2. (line 559)
-GREP_COLORS environment variable: See 2.2. (line 570)
-GREP_OPTIONS environment variable: See 2.2. (line 546)
-group separator: See 2.1.5. (line 351)
-hexadecimal digits: See 3.2. (line 891)
-highlight markers: See 2.2. (line 559)
-highlight, color, colour: See 2.1.3. (line 171)
-include files: See 2.1.6. (line 460)
-interval specifications: See 3.6. (line 1000)
-invert matching: See 2.1.2. (line 142)
-LANG environment variable: See 2.2. (line 511)
-LANGUAGE environment variable: See 2.2. (line 511)
-language of messages: See 2.2. (line 677)
-LC_ALL environment variable: See 2.2. (line 511)
-LC_COLLATE environment variable: See 2.2. (line 662)
-LC_CTYPE environment variable: See 2.2. (line 669)
-LC_MESSAGES environment variable: See 2.2. (line 511)
-line buffering: See 2.1.7. (line 481)
-line numbering: See 2.1.4. (line 294)
-ln GREP_COLORS capability: See 2.2. (line 630)
-lower character class: See 3.2. (line 868)
-lower-case letters: See 3.2. (line 868)
-match expression at most M times: See 3.1. (line 796)
-match expression at most once: See 3.1. (line 781)
-match expression from N to M times: See 3.1. (line 800)
-match expression N or more times: See 3.1. (line 793)
-match expression N times: See 3.1. (line 790)
-match expression one or more times: See 3.1. (line 787)
-match expression zero or more times: See 3.1. (line 784)
-match the whole line: See 2.1.2. (line 156)
-matching basic regular expressions: See 2.4. (line 723)
-matching extended regular expressions: See 2.4. (line 728)
-matching fixed strings: See 2.4. (line 733)
-matching Perl regular expressions: See 2.4. (line 739)
-matching whole words: See 2.1.2. (line 147)
-max-count: See 2.1.3. (line 199)
-mc GREP_COLORS capability: See 2.2. (line 617)
-message language: See 2.2. (line 677)
-ms GREP_COLORS capability: See 2.2. (line 609)
-MS-DOS/MS-Windows binary files: See 2.1.7. (line 486)
-MS-DOS/MS-Windows byte offsets: See 2.1.4. (line 309)
-mt GREP_COLORS capability: See 2.2. (line 601)
-names of matching files: See 2.1.3. (line 192)
-national language support: See 2.2. (line 662)
-ne GREP_COLORS capability: See 2.2. (line 647)
-NLS: See 2.2. (line 662)
-no filename prefix: See 2.1.4. (line 281)
-numeric characters: See 3.2. (line 862)
-only matching: See 2.1.3. (line 232)
-palindromes: See 4. (line 1148)
-pattern from file: See 2.1.2. (line 116)
-pattern list: See 2.1.2. (line 110)
-period: See 3.1. (line 778)
-plus sign: See 3.1. (line 787)
-POSIXLY_CORRECT environment variable: See 2.2. (line 682)
-print character class: See 3.2. (line 873)
-print non-matching lines: See 2.1.2. (line 142)
-printable characters: See 3.2. (line 873)
-punct character class: See 3.2. (line 876)
-punctuation characters: See 3.2. (line 876)
-question mark: See 3.1. (line 781)
-quiet, silent: See 2.1.3. (line 238)
-range expression: See 3.2. (line 827)
-recursive search: See 2.1.6. (line 465)
-regular expressions: See 3. (line 753)
-return status: See 2.3. (line 704)
-rv GREP_COLORS capability: See 2.2. (line 595)
-searching directory trees: See 2.1.6. (line 440)
-searching for a pattern: See 1. (line 55)
-sl GREP_COLORS capability: See 2.2. (line 578)
-space character class: See 3.2. (line 881)
-space characters: See 3.2. (line 881)
-subexpression: See 3.5. (line 984)
-suppress binary data: See 2.1.6. (line 386)
-suppress error messages: See 2.1.3. (line 245)
-symbolic links: See 2.1.6. (line 429)
-tab-aligned content lines: See 2.1.4. (line 299)
-translation of message language: See 2.2. (line 677)
-upper character class: See 3.2. (line 886)
-upper-case letters: See 3.2. (line 886)
-usage summary, printing: See 2.1.1. (line 96)
-usage, examples: See 4. (line 1015)
-using grep, Q&A: See 4. (line 1026)
-variants of grep: See 2.4. (line 713)
-version, printing: See 2.1.1. (line 101)
-whitespace characters: See 3.2. (line 881)
-with filename prefix: See 2.1.4. (line 276)
-xdigit character class: See 3.2. (line 891)
-xdigit class: See 3.2. (line 891)
-zero-terminated file names: See 2.1.4. (line 319)
-zero-terminated lines: See 2.1.7. (line 499)
-{,M}: See 3.1. (line 796)
-{N,M}: See 3.1. (line 800)
-{N,}: See 3.1. (line 793)
-{N}: See 3.1. (line 790)
-
-
-Local Variables:
-coding: utf-8
-End:
+* Menu:
+
+* *: Fundamental Structure.
+ (line 773)
+* +: Fundamental Structure.
+ (line 776)
+* --after-context: Context Line Control.
+ (line 330)
+* --basic-regexp: grep Programs. (line 713)
+* --before-context: Context Line Control.
+ (line 334)
+* --binary: Other Options. (line 479)
+* --binary-files: File and Directory Selection.
+ (line 380)
+* --byte-offset: Output Line Prefix Control.
+ (line 260)
+* --color: General Output Control.
+ (line 165)
+* --colour: General Output Control.
+ (line 165)
+* --context: Context Line Control.
+ (line 339)
+* --count: General Output Control.
+ (line 159)
+* --dereference-recursive: File and Directory Selection.
+ (line 467)
+* --devices: File and Directory Selection.
+ (line 409)
+* --directories: File and Directory Selection.
+ (line 420)
+* --exclude: File and Directory Selection.
+ (line 431)
+* --exclude-dir: File and Directory Selection.
+ (line 444)
+* --exclude-from: File and Directory Selection.
+ (line 440)
+* --extended-regexp: grep Programs. (line 718)
+* --file: Matching Control. (line 108)
+* --files-with-matches: General Output Control.
+ (line 186)
+* --files-without-match: General Output Control.
+ (line 180)
+* --fixed-strings: grep Programs. (line 723)
+* --group-separator: Context Line Control.
+ (line 342)
+* --group-separator <1>: Context Line Control.
+ (line 346)
+* --help: Generic Program Information.
+ (line 89)
+* --ignore-case: Matching Control. (line 115)
+* --include: File and Directory Selection.
+ (line 454)
+* --initial-tab: Output Line Prefix Control.
+ (line 291)
+* --invert-match: Matching Control. (line 134)
+* --label: Output Line Prefix Control.
+ (line 278)
+* --line-buffered: Other Options. (line 474)
+* --line-number: Output Line Prefix Control.
+ (line 286)
+* --line-regexp: Matching Control. (line 149)
+* --max-count: General Output Control.
+ (line 193)
+* --no-filename: Output Line Prefix Control.
+ (line 273)
+* --no-messages: General Output Control.
+ (line 238)
+* --null: Output Line Prefix Control.
+ (line 311)
+* --null-data: Other Options. (line 492)
+* --only-matching: General Output Control.
+ (line 225)
+* --perl-regexp: grep Programs. (line 729)
+* --quiet: General Output Control.
+ (line 231)
+* --recursive: File and Directory Selection.
+ (line 459)
+* --regexp=PATTERN: Matching Control. (line 102)
+* --silent: General Output Control.
+ (line 231)
+* --text: File and Directory Selection.
+ (line 376)
+* --unix-byte-offsets: Output Line Prefix Control.
+ (line 301)
+* --version: Generic Program Information.
+ (line 94)
+* --with-filename: Output Line Prefix Control.
+ (line 268)
+* --word-regexp: Matching Control. (line 139)
+* -A: Context Line Control.
+ (line 330)
+* -a: File and Directory Selection.
+ (line 376)
+* -b: Output Line Prefix Control.
+ (line 260)
+* -B: Context Line Control.
+ (line 334)
+* -c: General Output Control.
+ (line 159)
+* -C: Context Line Control.
+ (line 339)
+* -D: File and Directory Selection.
+ (line 409)
+* -d: File and Directory Selection.
+ (line 420)
+* -e: Matching Control. (line 102)
+* -E: grep Programs. (line 718)
+* -f: Matching Control. (line 108)
+* -F: grep Programs. (line 723)
+* -G: grep Programs. (line 713)
+* -H: Output Line Prefix Control.
+ (line 268)
+* -h: Output Line Prefix Control.
+ (line 273)
+* -i: Matching Control. (line 115)
+* -L: General Output Control.
+ (line 180)
+* -l: General Output Control.
+ (line 186)
+* -m: General Output Control.
+ (line 193)
+* -n: Output Line Prefix Control.
+ (line 286)
+* -NUM: Context Line Control.
+ (line 339)
+* -o: General Output Control.
+ (line 225)
+* -P: grep Programs. (line 729)
+* -q: General Output Control.
+ (line 231)
+* -r: File and Directory Selection.
+ (line 459)
+* -R: File and Directory Selection.
+ (line 467)
+* -s: General Output Control.
+ (line 238)
+* -T: Output Line Prefix Control.
+ (line 291)
+* -u: Output Line Prefix Control.
+ (line 301)
+* -U: Other Options. (line 479)
+* -V: Generic Program Information.
+ (line 94)
+* -v: Matching Control. (line 134)
+* -w: Matching Control. (line 139)
+* -x: Matching Control. (line 149)
+* -y: Matching Control. (line 115)
+* -Z: Output Line Prefix Control.
+ (line 311)
+* -z: Other Options. (line 492)
+* .: Fundamental Structure.
+ (line 767)
+* ?: Fundamental Structure.
+ (line 770)
+* _N_GNU_nonoption_argv_flags_ environment variable: Environment Variables.
+ (line 683)
+* {,M}: Fundamental Structure.
+ (line 785)
+* {N,M}: Fundamental Structure.
+ (line 789)
+* {N,}: Fundamental Structure.
+ (line 782)
+* {N}: Fundamental Structure.
+ (line 779)
+* after context: Context Line Control.
+ (line 330)
+* alnum character class: Character Classes and Bracket
Expressions.
+ (line 832)
+* alpha character class: Character Classes and Bracket
Expressions.
+ (line 837)
+* alphabetic characters: Character Classes and Bracket
Expressions.
+ (line 837)
+* alphanumeric characters: Character Classes and Bracket
Expressions.
+ (line 832)
+* anchoring: Anchoring. (line 960)
+* asterisk: Fundamental Structure.
+ (line 773)
+* back-reference: Back-references and Subexpressions.
+ (line 968)
+* backslash: The Backslash Character and Special
Expressions.
+ (line 927)
+* basic regular expressions: Basic vs Extended. (line 980)
+* before context: Context Line Control.
+ (line 334)
+* binary files: File and Directory Selection.
+ (line 376)
+* binary files <1>: File and Directory Selection.
+ (line 380)
+* binary files, MS-DOS/MS-Windows: Other Options. (line 479)
+* blank character class: Character Classes and Bracket
Expressions.
+ (line 842)
+* blank characters: Character Classes and Bracket
Expressions.
+ (line 842)
+* bn GREP_COLORS capability: Environment Variables.
+ (line 627)
+* braces, first argument omitted: Fundamental Structure.
+ (line 785)
+* braces, one argument: Fundamental Structure.
+ (line 779)
+* braces, second argument omitted: Fundamental Structure.
+ (line 782)
+* braces, two arguments: Fundamental Structure.
+ (line 789)
+* bracket expression: Character Classes and Bracket
Expressions.
+ (line 809)
+* Bugs, known: Reporting Bugs. (line 1202)
+* bugs, reporting: Reporting Bugs. (line 1194)
+* byte offset: Output Line Prefix Control.
+ (line 260)
+* byte offsets, on MS-DOS/MS-Windows: Output Line Prefix Control.
+ (line 301)
+* case insensitive search: Matching Control. (line 115)
+* changing name of standard input: Output Line Prefix Control.
+ (line 278)
+* character class: Character Classes and Bracket
Expressions.
+ (line 809)
+* character classes: Character Classes and Bracket
Expressions.
+ (line 831)
+* character type: Environment Variables.
+ (line 654)
+* classes of characters: Character Classes and Bracket
Expressions.
+ (line 831)
+* cntrl character class: Character Classes and Bracket
Expressions.
+ (line 845)
+* context: Context Line Control.
+ (line 339)
+* context lines, after match: Context Line Control.
+ (line 330)
+* context lines, before match: Context Line Control.
+ (line 334)
+* control characters: Character Classes and Bracket
Expressions.
+ (line 845)
+* copying: Copying. (line 1212)
+* counting lines: General Output Control.
+ (line 159)
+* cx GREP_COLORS capability: Environment Variables.
+ (line 578)
+* default options environment variable: Environment Variables.
+ (line 538)
+* device search: File and Directory Selection.
+ (line 409)
+* digit character class: Character Classes and Bracket
Expressions.
+ (line 850)
+* digit characters: Character Classes and Bracket
Expressions.
+ (line 850)
+* directory search: File and Directory Selection.
+ (line 420)
+* dot: Fundamental Structure.
+ (line 767)
+* environment variables: Environment Variables.
+ (line 537)
+* exclude directories: File and Directory Selection.
+ (line 444)
+* exclude files: File and Directory Selection.
+ (line 431)
+* exclude files <1>: File and Directory Selection.
+ (line 440)
+* exit status: Exit Status. (line 695)
+* FAQ about âgrepâ usage: Usage. (line 1010)
+* files which donât match: General Output Control.
+ (line 180)
+* fn GREP_COLORS capability: Environment Variables.
+ (line 617)
+* fn GREP_COLORS capability <1>: Environment Variables.
+ (line 632)
+* graph character class: Character Classes and Bracket
Expressions.
+ (line 853)
+* graphic characters: Character Classes and Bracket
Expressions.
+ (line 853)
+* âgrepâ programs: grep Programs. (line 704)
+* GREP_COLOR environment variable: Environment Variables.
+ (line 551)
+* GREP_COLORS environment variable: Environment Variables.
+ (line 562)
+* GREP_OPTIONS environment variable: Environment Variables.
+ (line 538)
+* group separator: Context Line Control.
+ (line 342)
+* group separator <1>: Context Line Control.
+ (line 346)
+* hexadecimal digits: Character Classes and Bracket
Expressions.
+ (line 877)
+* highlight markers: Environment Variables.
+ (line 551)
+* highlight markers <1>: Environment Variables.
+ (line 562)
+* highlight, color, colour: General Output Control.
+ (line 165)
+* include files: File and Directory Selection.
+ (line 454)
+* interval specifications: Basic vs Extended. (line 984)
+* invert matching: Matching Control. (line 134)
+* LANG environment variable: Environment Variables.
+ (line 503)
+* LANG environment variable <1>: Environment Variables.
+ (line 654)
+* LANG environment variable <2>: Environment Variables.
+ (line 661)
+* LANG environment variable <3>: Environment Variables.
+ (line 669)
+* LANGUAGE environment variable: Environment Variables.
+ (line 503)
+* LANGUAGE environment variable <1>: Environment Variables.
+ (line 669)
+* language of messages: Environment Variables.
+ (line 669)
+* LC_ALL environment variable: Environment Variables.
+ (line 503)
+* LC_ALL environment variable <1>: Environment Variables.
+ (line 654)
+* LC_ALL environment variable <2>: Environment Variables.
+ (line 661)
+* LC_ALL environment variable <3>: Environment Variables.
+ (line 669)
+* LC_COLLATE environment variable: Environment Variables.
+ (line 654)
+* LC_CTYPE environment variable: Environment Variables.
+ (line 661)
+* LC_MESSAGES environment variable: Environment Variables.
+ (line 503)
+* LC_MESSAGES environment variable <1>: Environment Variables.
+ (line 669)
+* line buffering: Other Options. (line 474)
+* line numbering: Output Line Prefix Control.
+ (line 286)
+* ln GREP_COLORS capability: Environment Variables.
+ (line 622)
+* lower character class: Character Classes and Bracket
Expressions.
+ (line 856)
+* lower-case letters: Character Classes and Bracket
Expressions.
+ (line 856)
+* match expression at most M times: Fundamental Structure.
+ (line 785)
+* match expression at most once: Fundamental Structure.
+ (line 770)
+* match expression from N to M times: Fundamental Structure.
+ (line 789)
+* match expression N or more times: Fundamental Structure.
+ (line 782)
+* match expression N times: Fundamental Structure.
+ (line 779)
+* match expression one or more times: Fundamental Structure.
+ (line 776)
+* match expression zero or more times: Fundamental Structure.
+ (line 773)
+* match the whole line: Matching Control. (line 149)
+* matching basic regular expressions: grep Programs. (line 713)
+* matching extended regular expressions: grep Programs. (line 718)
+* matching fixed strings: grep Programs. (line 723)
+* matching Perl regular expressions: grep Programs. (line 729)
+* matching whole words: Matching Control. (line 139)
+* max-count: General Output Control.
+ (line 193)
+* mc GREP_COLORS capability: Environment Variables.
+ (line 609)
+* message language: Environment Variables.
+ (line 669)
+* ms GREP_COLORS capability: Environment Variables.
+ (line 601)
+* MS-DOS/MS-Windows binary files: Other Options. (line 479)
+* MS-DOS/MS-Windows byte offsets: Output Line Prefix Control.
+ (line 301)
+* mt GREP_COLORS capability: Environment Variables.
+ (line 593)
+* names of matching files: General Output Control.
+ (line 186)
+* national language support: Environment Variables.
+ (line 654)
+* national language support <1>: Environment Variables.
+ (line 669)
+* ne GREP_COLORS capability: Environment Variables.
+ (line 639)
+* NLS: Environment Variables.
+ (line 654)
+* no filename prefix: Output Line Prefix Control.
+ (line 273)
+* numeric characters: Character Classes and Bracket
Expressions.
+ (line 850)
+* only matching: General Output Control.
+ (line 225)
+* palindromes: Usage. (line 1132)
+* pattern from file: Matching Control. (line 108)
+* pattern list: Matching Control. (line 102)
+* period: Fundamental Structure.
+ (line 767)
+* plus sign: Fundamental Structure.
+ (line 776)
+* POSIXLY_CORRECT environment variable: Environment Variables.
+ (line 674)
+* print character class: Character Classes and Bracket
Expressions.
+ (line 860)
+* print non-matching lines: Matching Control. (line 134)
+* printable characters: Character Classes and Bracket
Expressions.
+ (line 860)
+* punct character class: Character Classes and Bracket
Expressions.
+ (line 863)
+* punctuation characters: Character Classes and Bracket
Expressions.
+ (line 863)
+* question mark: Fundamental Structure.
+ (line 770)
+* quiet, silent: General Output Control.
+ (line 231)
+* range expression: Character Classes and Bracket
Expressions.
+ (line 815)
+* recursive search: File and Directory Selection.
+ (line 459)
+* recursive search <1>: File and Directory Selection.
+ (line 467)
+* regular expressions: Regular Expressions.
+ (line 741)
+* return status: Exit Status. (line 695)
+* rv GREP_COLORS capability: Environment Variables.
+ (line 587)
+* searching directory trees: File and Directory Selection.
+ (line 431)
+* searching directory trees <1>: File and Directory Selection.
+ (line 440)
+* searching directory trees <2>: File and Directory Selection.
+ (line 454)
+* searching directory trees <3>: File and Directory Selection.
+ (line 459)
+* searching directory trees <4>: File and Directory Selection.
+ (line 467)
+* searching for a pattern: Introduction. (line 48)
+* sl GREP_COLORS capability: Environment Variables.
+ (line 570)
+* space character class: Character Classes and Bracket
Expressions.
+ (line 868)
+* space characters: Character Classes and Bracket
Expressions.
+ (line 868)
+* subexpression: Back-references and Subexpressions.
+ (line 968)
+* suppress binary data: File and Directory Selection.
+ (line 376)
+* suppress error messages: General Output Control.
+ (line 238)
+* symbolic links: File and Directory Selection.
+ (line 420)
+* symbolic links <1>: File and Directory Selection.
+ (line 459)
+* symbolic links <2>: File and Directory Selection.
+ (line 467)
+* tab-aligned content lines: Output Line Prefix Control.
+ (line 291)
+* translation of message language: Environment Variables.
+ (line 669)
+* upper character class: Character Classes and Bracket
Expressions.
+ (line 873)
+* upper-case letters: Character Classes and Bracket
Expressions.
+ (line 873)
+* usage summary, printing: Generic Program Information.
+ (line 89)
+* usage, examples: Usage. (line 999)
+* using âgrepâ, Q&A: Usage. (line 1010)
+* variants of âgrepâ: grep Programs. (line 704)
+* version, printing: Generic Program Information.
+ (line 94)
+* whitespace characters: Character Classes and Bracket
Expressions.
+ (line 868)
+* with filename prefix: Output Line Prefix Control.
+ (line 268)
+* xdigit character class: Character Classes and Bracket
Expressions.
+ (line 877)
+* xdigit class: Character Classes and Bracket
Expressions.
+ (line 877)
+* zero-terminated file names: Output Line Prefix Control.
+ (line 311)
+* zero-terminated lines: Other Options. (line 492)
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Changes to grep/manual/grep.txt,v,
Jim Meyering <=