The ‘\’ character followed by a special character is a regular expression that matches the special character. The ‘\’ character, when followed by certain ordinary characters, takes a special meaning:
Match the empty string at the edge of a word.
Match the empty string provided it’s not at the edge of a word.
Match the empty string at the beginning of a word.
Match the empty string at the end of a word.
Match word constituent, it is a synonym for ‘[_[:alnum:]]’.
Match non-word constituent, it is a synonym for ‘[^_[:alnum:]]’.
Match whitespace, it is a synonym for ‘[[:space:]]’.
Match non-whitespace, it is a synonym for ‘[^[:space:]]’.
Match ‘]’.
Match ‘}’.
For example, ‘\brat\b’ matches the separate word ‘rat’, ‘\Brat\B’ matches ‘crate’ but not ‘furry rat’.
The behavior of grep
is unspecified if a unescaped backslash
is not followed by a special character, a nonzero digit, or a
character in the above list. Although grep
might issue a
diagnostic and/or give the backslash an interpretation now, its
behavior may change if the syntax of regular expressions is extended
in future versions.