Some metacharacters are valid for one program but not for another.
Those that are available to a given program are marked by a bullet
() in the following table. Notes are provided
after the table, and full descriptions of metacharacters are in the
following section.
Symbol | ed | vi | sed | awk | grep | egrep | Action |
---|---|---|---|---|---|---|---|
. | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Match any character (can match newline in gawk). |
* | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Match zero or more preceding. |
^ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Match beginning of line or string. |
$ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Match end of line or string. |
\ | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Escape character following. |
[] | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Match one from a list or range. |
\(\) | ![]() |
![]() |
![]() |
Store pattern for later replay. |
|||
\n | ![]() |
![]() |
![]() |
Reuse matched text stored in nth \( \). |
|||
{} | ![]() |
Match a range of instances. |
|||||
\{\} | ![]() |
![]() |
![]() |
![]() |
Match a range of instances. |
||
\<\> | ![]() |
Match word's beginning or end. |
|||||
+ | ![]() |
![]() |
![]() |
Match one or more preceding. |
|||
? | ![]() |
![]() |
![]() |
Match zero or one preceding. |
|||
| | ![]() |
![]() |
Separate choices to match. |
||||
() | ![]() |
![]() |
Group expressions to match. |
On some Linux systems, grep is a link to egrep, so whenever you run grep you actually get egrep behavior.
In ed, vi, and sed, when you perform a search-and-replace (substitute) operation, the metacharacters in this table apply to the pattern you are searching for but not to the string replacing it.
In awk, {} is specified in the POSIX standard and is supported by gawk if you run it with the -Wre-interval option.
In ed, vi, and sed, the following additional metacharacters are valid only in a replacement pattern:
Symbol | ex | sed | ed | Action |
\ | ![]() |
![]() |
![]() |
Escape character following. |
\n | ![]() |
![]() |
![]() |
Reuse matched text stored in nth \( \). |
& | ![]() |
![]() |
Reuse previous search pattern. | |
~ | ![]() |
Reuse previous replacement pattern. | ||
\e | ![]() |
Turn off previous \L or \U. | ||
\E | ![]() |
Turn off previous /L or /U. | ||
\l | ![]() |
Change single following character to lowercase. | ||
\L | ![]() |
Change following characters to lowercase until /E encountered. |
||
\u | ![]() |
Change single following character to uppercase. | ||
\U | ![]() |
Change following characters to uppercase until \E encountered. |
Copyright © 2001 O'Reilly & Associates. All rights reserved.