Search Patterns

The characters in the following table 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. For example, 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: 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 regular expression. { 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. (GNU programs allow a range of 0 to 32,767.)

\{ n , m \}

Just like { n , m }, earlier, but with backslashes in front of the braces. (Historically, different utilities ...

Get Unix in a Nutshell, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.