grep 计算一行单一模式中的所有匹配项

标签 grep

当每行超过一个匹配项时,如何使用 grep 计算所有匹配项?

$ cat example.txt
int foo(int a, char b) { int i = 80; return i; }
$ grep -c "int" example.txt
1

我想输出 3 (因为 int 在文件中出现了 3 次)

最佳答案

使用支持-o选项的grep:

$ grep -o 'int' ip.txt | wc -l
3

ripgrep :

$ rg -oc 'int' ip.txt
3

关于grep 计算一行单一模式中的所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68190143/

相关文章:

regex - Linux grep 如何将所有行视为正则表达式的大行?

linux - 递归地将所有文件分类为单个文件

regex - 匹配上一次匹配之前的最后一次出现

java - JSP Unix 文件列表

azure - 有关根据数据量对目录进行均匀排序的 Powershell 命令或脚本的指南

具有存在文件名的linux grep命令

linux - bash echo 在 grep 什么都不返回后不起作用

regex - VIM - 将普通模式函数转换为命令模式函数

正则表达式匹配特殊字符的精确出现

bash - 使用 grep 和 cut delimiter 命令(在 bash shell 脚本 UNIX 中)- 和 "reversing"一样吗?