The characters in Table 6-3 have special meaning only in search patterns .
Character | Pattern |
---|---|
. | Match any single character except newline. Can match newline in awk . |
* | Match any number (or none) of the single character that immediately precedes it. The preceding character can also be a regular expression; e.g., since . (dot) means any character, .* means match any number of any character. |
^ | Match the following regular expression at the beginning of the line or string. |
$ | Match the preceding regular expression at the end of the line or string. |
[ ] | Match any one of the enclosed characters. A hyphen (-) indicates a range of consecutive characters. A circumflex (^) as the first character in the brackets reverses the sense of the character set, so that it matches any one character not in the list. A hyphen or close bracket (]) as the first character is treated as a member of the list. All other metacharacters are treated as members of the list (i.e., literally). |
{ n , m } | Match a range of occurrences of the single character that immediately precedes it. The preceding character can also be a metacharacter. { n } matches exactly n occurrences, { n ,} matches at least n occurrences, and { n , m } matches any number of occurrences between n and m . n and m must be between 0 and 255, inclusive. |
\{ n , m \} | Just like { n , m }, above, but with backslashes in front of the braces. |
Turn off the special meaning of the character that follows . | |
\( \) | Save the pattern enclosed between \( and \) into a special holding space. Up to nine patterns can be saved on a single line. The text matched by the subpatterns can be replayed in substitutions by the escape sequences \1 to \9. |
\n | Replay the n th subpattern enclosed in \( and \) into the pattern at this point. n is a number from 1 to 9, with 1 starting on the left. See "Examples of Searching" later in this chapter. |
\< \> | Match characters at beginning (\<) or end (\>) of a word. |
+ | Match one or more instances of preceding regular expression. |
? | Match zero or one instances of preceding regular expression. |
| Match the regular expression specified before or after. |
( ) | Apply a match to the enclosed group of regular expressions. |
Many Unix systems allow the use of POSIX character classes within the square brackets that enclose a group of characters. These classes, listed in Table 6-4, are typed enclosed in [: and :] . For example, [[:alnum:]] matches a single alphanumeric character.
Class | Characters matched |
---|---|
alnum | Alphanumeric characters |
alpha | Alphabetic characters |
blank | Space or tab |
cntrl | Control characters |
digit | Decimal digits |
graph | Nonspace characters |
lower | Lowercase characters |
| Printable characters |
space | Whitespace characters |
upper | Uppercase characters |
Xdigit | Hexadecimal digits |
The characters in Table 6-5 have special meaning only in replacement patterns .
Character | Pattern |
---|---|
\ | Turn off the special meaning of the character that follows. |
\ n | Restore the text matched by the n th pattern previously saved by \( and \). n is a number from 1 to 9, with 1 starting on the left. |
& | Reuse the text matched by the search pattern as part of the replacement pattern. |
~ | Reuse the previous replacement pattern in the current replacement pattern. Must be the only character in the replacement pattern. ( ex and vi ) |
% | Reuse the previous replacement pattern in the current replacement pattern. Must be the only character in the replacement pattern. ( ed ) |
\u | Convert first character of replacement pattern to uppercase. |
\U | Convert entire replacement pattern to uppercase. |
\l | Convert first character of replacement pattern to lowercase. |
\L | Convert entire replacement pattern to lowercase. |
\e, \E | Turn off previous \u, \U, \l, and \L. |