我想使用 ubuntu 终端 'grep' 命令查找文本文件中大写单词的数量。我已经尝试过使用grep -c [[:upper:]] a.txt命令。但它也计算具有简单字符的单词。
我的文字:我是汤姆·佩雷拉
我的命令行输出应该是2,即单词是“ I ”和“ PERERA ”。
我相信该-c标志仅返回匹配的行数。如果每行有多个匹配项,则会给出错误的结果。我通常会做这样的事情:
echo 'I am Tom PERERA' | grep -oE '\b[A-Z]+\b' | wc -l
Run Code Online (Sandbox Code Playgroud)
'\b[[:upper:]]+\b'注意:如果您喜欢 POSIX 类,也可以使用
编辑:正如 @tripleee 指出的,POSIX 类[:upper:]将跨越语言环境,并且是一个更可移植的解决方案。