美元符号在grep命令的regexp前面意味着什么



我正在研究如何在文件中生成一些不可打印的字符。我终于发现这是有效的:

grep -c $'xEFxBBxBF' *.xml

然而,我在任何地方都找不到初始美元符号的含义(它必须发挥作用,因为如果你删除它,命令就不起作用…(

当然,我所有的搜索都是由"如何grep美元符号"、"如何逃离美元符号"one_answers"美元正则表达式的特殊含义是什么"组成的。。。我还没有在grep或regexp文档中找到任何内容。。。

有人知道它的含义吗(也许它还能用来做什么?(

谢谢!

答案在man bash:中

形式为$'string'的词被特殊处理。单词扩展为字符串,并按照ANSI C标准的规定替换反斜杠转义字符。如果存在反跳转义序列,则按如下方式解码:

a     alert (bell)
b     backspace
e
E     an escape character
f     form feed
n     new line
r     carriage return
t     horizontal tab
v     vertical tab
\     backslash
'     single quote
"     double quote
nnn   the eight-bit character whose value is the octal value nnn (one to three digits)
xHH   the eight-bit character whose value is the hexadecimal value HH (one or two hex digits)
cx    a control-x character

最新更新