| Some metacharacters are valid for one program but not for another. Those that are available are marked by a bullet (·) in Table 7-1. (This table is correct for most commercial Unix systems, including Solaris.) Items marked with a "P" are specified by POSIX; double-check your system's version. (On Solaris, the versions in /usr/xpg4/bin and /usr/xpg6/bin accept these items.) Full descriptions were provided in the previous section. Table 7-1. Unix metacharactersSymbol | 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.* | \n | · | · | · | · | | · | | Replay subpattern in match. | { } | | | | | · P | | · P | 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. | Stored subpatterns can be "replayed" during matching. See Table 7-2. |
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 7-1 are meaningful only in a search pattern. In ed, ex, vi , and sed, the metacharacters in Table 7-2 are valid only in a replacement pattern. Table 7-2. Metacharacters in replacement patternsSymbol | 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. | |