找出文件中有多少个单词包含数字?

找出文件中有多少个单词包含数字?

我正在尝试查找包含数字的特定文件中的单词总数。不是一个特定的数字,我只是在寻找包含任何数字的单词。我尝试使用 grep 和 wc 命令,如下所示:

grep [0-9] filename | wc -w

我得到的输出是“不匹配”。谁能看到我做错了什么吗?

预先感谢您的任何帮助。

答案1

我怀疑您没有得到任何匹配项,因为您的 shell 正在使用自己的语法规则解释括号。它们需要用引号引起来。但即使不是因为这个问题,你的也会将同一行中出现的所有单词(或任何类型)计算为数字。那不是你想要的。

我建议这样:

grep -wo '[[:alnum:]]*[0-9][[:alnum:]]*' filename.txt | wc -w

这将查找包含 0 个或多个字母字符的字符串,后跟至少一个数字,然后是 0 个或多个字母字符。

-w选项仅计算整个单词。该-o选项将每个匹配项放在自己的行上,并且仅打印匹配项,因此您不会在同一行上看到其他单词。wc -w数单词。

相关内容