linux - 统计文件中字符的出现次数

标签 linux file command-line grep wc

我想计算具有多个子目录的目录中每个文件中的所有 $ 字符。 我的目标是统计 PHP 项目中的所有变量。这些文件的后缀为 .php.

我试过了

grep -r '$' . | wc -c
grep -r '$' . | wc -l

还有很多其他的东西,但都返回了一个无法匹配的数字。在我的示例文件中只有四个 $。 所以我希望有人能帮助我。

编辑

我的示例文件

<?php
class MyClass extends Controller {

$a;$a;
$a;$a;
$a;
$a;

最佳答案

要递归计算目录中一组文件中 $ 字符的数量,您可以执行以下操作:

fgrep -Rho '$' some_dir | wc -l

要在递归中仅包含扩展名 .php 的文件,您可以使用:

fgrep -Rho --include='*.php' '$' some_dir | wc -l

-R 用于递归遍历 some_dir 中的文件,-o 用于匹配搜索到的每行的部分内容。该组文件仅限于 *.php 模式,并且文件名不包含在 -h 的输出中,否则可能会导致误报。

关于linux - 统计文件中字符的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20424891/

相关文章:

linux - Linux下文件排序

c - 对使用 O_DIRECT 打开的文件执行 'write' 后的用户缓冲区

linux - 将目录结构的一部分复制到新位置

windows - 是否有任何 XSLT 处理命令行工具?

ruby-on-rails - rails4 未知编码名称 - CP720

c - 现代 Unix 工具是用什么编程语言编写的?

c - UNIX:退出时等待进程子进程?

java - 用于读取和写入文件的正确 Java 类?

c++ - QT qmake 小写我的自定义小部件名称

linux - 用于外部 LAN 访问的 Apache 配置