linux bash man page里面提到:
ANSI-C Quoting
Words of the form $'string'
are treated specially. The word expands to string, with backslash-escaped characters replaced as specifed by the ANSI C standard. Backslash escape sequences, if present, are decoded as follows:
\a
- alert (bell)
\b
- backspace
\e
- an escape character (not ANSI C)
\f
- form feed
\n
- newline
\r
- carriage return
\t
- horizontal tab
\v
- vertical tab
\\
- backslash
\'
- single quote
\nnn
- the character whose
ASCII
code is the octal value nnn (one to three digits) \xnnn
- the character whose
ASCII
code is the hexadecimal value nnn (one to three digits)
The expanded result is single-quoted, as if the dollar sign had not been present.
也就是说如果你想在source.txt里面grep匹配tab+targetword内容,那么写法应该是:
grep $'\t'targetword source.txt.