Table 3.1: Summary of Metacharacters
Special |
|
Characters | Usage |
. | Matches any single character except newline. In awk, dot can match newline also. |
* | Matches any number (including zero) of the single character (including a character specified by a regular expression) that immediately precedes it. |
[...] | Matches any one of the class of characters enclosed between the brackets. A circumflex (^) as first character inside brackets reverses the match to all characters except newline and those listed in the class. In awk, newline will also match. A hyphen (-) is used to indicate a range of characters. The close bracket (]) as the first character in class is a member of the class. All other metacharacters lose their meaning when specified as members of a class. |
^ | First character of regular expression, matches the beginning of the line. Matches the beginning of a string in awk, even if the string contains embedded newlines. |
$ | As last character of regular expression, matches the end of the line. Matches the end of a string in awk, even if the string contains embedded newlines. |
\{n,m\} | Matches a range of occurrences of the single character (including a character specified by a regular expression) that immediately precedes it. \{n\} will match exactly n occurrences, \{n,\} will match at least n occurrences, and \{n,m\} will match any number of occurrences between n and m. (sed and grep only, may not be in some very old versions.) |
\ | Escapes the special character that follows. |
Extended Metacharacters (egrep and awk) | |
Special |
|
Characters | Usage |
+ | Matches one or more occurrences of the preceding regular expression. |
? | Matches zero or one occurrences of the preceding regular expression. |
| | Specifies that either the preceding or following regular expression can be matched (alternation). |
() | Groups regular expressions. |
{n,m} | Matches a range of occurrences of the single character (including a character specified by a regular expression) that immediately precedes it. {n} will match exactly n occurrences, {n,} will match at least n occurrences, and {n,m} will match any number of occurrences between n and m. (POSIX egrep and POSIX awk, not in traditional egrep or awk.)[2] |