如何使用ubuntu grep查找文本中的大写单词数?

时间:2014-06-10 14:29:21

标签: regex bash grep

我想通过使用ubuntu终端' grep'来查找文本文件中大写单词的数量。命令.. 我已经尝试过使用grep -c [[:upper:]] a.txt命令。但它也计算出具有简单字符的单词。

我的文字:我是Tom PERERA

我的命令行输出应为2,单词为" I "和" PERERA "。

1 个答案:

答案 0 :(得分:4)

我相信-c标志只返回匹配的行数。如果每行有多个匹配项,则会给出错误的结果。我通常做这样的事情:

echo 'I am Tom PERERA' | grep -oE '\b[A-Z]+\b' | wc -l

注意:如果您更喜欢POSIX类

,也可以使用'\b[[:upper:]]+\b'

编辑: 正如@tripleee指出的那样,POSIX类[:upper:]将跨越语言环境,是一种更便携的解决方案。