美元符号在给定给grep命令的regexp前面是什么意思?

美元符号在给定给grep命令的regexp前面是什么意思?,grep,hex,Grep,Hex,我正在研究如何在文件中grep一些不可打印的字符。我终于发现这是可行的: grep -c $'\xEF\xBB\xBF' *.xml 但是,我在任何地方都找不到初始美元符号的含义(它必须起作用,因为如果删除它,命令将不起作用…) 当然,我所有的搜索都被“如何grep寻找美元符号”、“如何避开美元符号”和“美元regexp的特殊含义是什么”。。。我还没有在grep或regexp文档中找到任何东西 有人知道它的意思吗(也许还有其他用途?) 谢谢 答案在man bash中: $‘string’形式的

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

grep -c $'\xEF\xBB\xBF' *.xml
但是,我在任何地方都找不到初始美元符号的含义(它必须起作用,因为如果删除它,命令将不起作用…)

当然,我所有的搜索都被“如何grep寻找美元符号”、“如何避开美元符号”和“美元regexp的特殊含义是什么”。。。我还没有在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

看见这基本上是一个前缀,告诉引擎解析字符串中的转义序列。这正是我所期望的。我没有在bash文档中搜索,因为我确信我从未在其中看到过这一点。。。非常感谢你的回答!谢谢你的详细资料!