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 . |