如何使用 Shell 脚本统计文本文件中单词的出现次数?
operating systemlinuxmca
Linux Shell 脚本有许多强大的工具来处理文件中的数据。其中一个功能是查找模式并计算匹配模式的出现次数。例如,计算给定文件中特定单词的出现次数。这可以通过组合使用模式搜索和计数命令来实现。以下是一些可用于此目的的方法。
输入文件
我们使用以下文件来演示示例。
$ cat inspire.txt Mastering anything needs practice. It also needs patience. And it needs time and other resources.
使用 grep 和 wc
grep 命令会查找模式,但它有一些开关,可以在每次找到模式时将其打印在新行中。这就是 –o 选项。我们也可以使用 -i 开关忽略找到的单词的大小写。最后,结果可以通过管道传输到 wc 以获得最终计数。在本例中,我们统计单词"needs"出现的次数。
方法
我们在文件中使用 grep 查找单词"needs"。使用 –o 开关将每个输出都打印为新行。使用 –i 忽略大小写。然后将其流水线化到 wc 中,以获得行数,最终即该单词出现的次数。
$ grep -o -i needs inspire.txt | wc -l
运行上述代码得到以下结果 −
3
使用 tr 命令
tr 命令将一个字符串转换为另一个字符串。因此,我们将所有空格转换为新行,然后使用 grep 查找该模式。最后,使用 grep 的 -c 开关计数,使用 -i 开关忽略大小写,计算特定单词出现的次数。
tr '[:space:]' '[
*]' < inspire.txt | grep -i -c it
运行上述代码得到以下结果 −
2
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

