我可以看到 GNU Grep 中的某些模式可以包含在括号中,而某些其他模式则不需要。例如,匹配单词的开头只有在它被引号括起来时才有效。
user@host:~/Desktop$ grep -E '\<H' test
Hello World
user@host:~/Desktop$ grep -E \<H test
Run Code Online (Sandbox Code Playgroud)
[测试包含字符串 Hello World]
但是匹配文件的结尾和开头不需要美元:
user@host:~/Desktop$ egrep d$ test
Hello World
Run Code Online (Sandbox Code Playgroud)
为什么会这样?规则是什么?