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 the table below.  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. | 
| $ | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | Match end of line. | 
| \ | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | Escape character following. | 
| [ ] | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | ![]()  | Match one from a set. | 
| \( \) | ![]()  | ![]()  | ![]()  | Store pattern for later replay. | ||||
| \{ \} | ![]()  | ![]()  | ![]()  | 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. | 
In ed, ex, and sed, note that you specify both a search pattern (on the left) and a replacement pattern (on the right). The metacharacters above are meaningful only in a search pattern.
In ed, ex, and sed, the following additional metacharacters are valid only in a replacement pattern:
| Symbol | ex | sed | ed | Action | 
|---|---|---|---|---|
| \ | ![]()  | ![]()  | ![]()  | Escape character following. | 
\n | ![]()  | ![]()  | ![]()  | Reuse pattern stored in \( \). | 
| & | ![]()  | ![]()  | Reuse previous search 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. |