计算文件中给定字符的数量

mau*_*uro 1 unix bash

我需要计算 - 在 bash 中 - 文件中给定(单字节)字符的数量。例如:计算逗号、点或大写 'C' 或...任何其他字符的数量。

基本上我需要一个通用版本wc -l来计算某个文件中包含的任何单字节字符(不仅仅是新行)。

我必须将它与非常大的文件(几 GB)一起使用,因此它必须快速且资源高效。理想情况下,wc -l如果您必须计算新台词,您将获得相同水平的表演。

anu*_*ava 7

您可以grep -owc -l. 例如计算C输入文件中的字母数:

grep -Fo 'C' file | wc -l
Run Code Online (Sandbox Code Playgroud)

要在单个命令中完成此操作,您可以使用gnu awkcustom RS

awk -v RS='C' 'END{print NR-1}' file
Run Code Online (Sandbox Code Playgroud)