grep区分大小写[AZ]?

14 bash command-line grep

我不能用这种模式grep进行区分大小写的搜索

$ grep 'T[A-Z]' test.txt
The Quick Brown Fox Jumps Over The Lazy Dog
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
Run Code Online (Sandbox Code Playgroud)

Pau*_*ce. 7

使用引号来防止模式被shell匹配为文件系统中的文件到glob文件. ''

使用命名字符类来保证区分大小写的匹配. [[:lower:]]

使用量词可以为多个字符进行匹配. \+

使用锚点确保匹配正确. ^

grep '^T[[:upper:]]\+' test.txt
Run Code Online (Sandbox Code Playgroud)

[A-Z]不适合您的原因是您正在使用的语言环境的方式是在您的系统上实现的,该模式还包括小写字母.


小智 5

您可以设置LANG值:

$ LANG=C grep 'T[A-Z]' test.txt
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
Run Code Online (Sandbox Code Playgroud)