Some metacharacters are valid for one program but not for another. Those that are available to a Unix program are marked by a bullet () in Table 6.1. Items marked with a "P" are specified by POSIX; double-check your system's version. (On Solaris, the versions in /usr/xpg4/bin accept these items.) Full descriptions are provided after the table.
Symbol | ed | ex | vi | sed | awk | grep | egrep | Action |
---|---|---|---|---|---|---|---|---|
. | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Match any character. |
* | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Match zero or more preceding. |
^ | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Match beginning of line/string. |
$ | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Match end of line/string. |
\ | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Escape following character. |
[ ] | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | Match one from a set. |
\( \) | ![]() | ![]() | ![]() | ![]() | ![]() | Store pattern for later replay.[1] | ||
\ n | ![]() | ![]() | ![]() | ![]() | ![]() | Replay subpattern in match. | ||
{ } | ![]() | ![]() | 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. |
Note that in ed, ex, vi, and sed, you specify both a search pattern (on the left) and a replacement pattern (on the right). The metacharacters in Table 6.1 are meaningful only in a search pattern.
In ed, ex, vi, and sed, the metacharacters in Table 6.2 are valid only in a replacement pattern.
Symbol | ex | vi | sed | ed | Action |
---|---|---|---|---|---|
\ | ![]() | ![]() | ![]() | ![]() | Escape following character. |
\ n | ![]() | ![]() | ![]() | ![]() | Text matching pattern stored in \( \) . |
& | ![]() | ![]() | ![]() | ![]() | Text matching search pattern. |
~ | ![]() | ![]() | Reuse previous replacement pattern. | ||
% | ![]() | Reuse previous replacement pattern. | |||
\u \U | ![]() | ![]() | Change character(s) to uppercase. | ||
\l \L | ![]() | ![]() | Change character(s) to lowercase. | ||
\E | ![]() | ![]() | Turn off previous \U or \L . | ||
\e | ![]() | ![]() | Turn off previous \u or \l . |