借助vim统计文本中的字符串数目

普通命令:

:%s/pattern//gn

pattern为要查询的字符串

技巧:当需要统计的字符串处于行首,且是其他字符串的子集时,可以考虑每行行首加一个特定字符,使得待查询的字符串变得特定。举例:

4321abc1111111
87654321abcfdsafcdsf

假定4321abc是待查询的字符串且需要位于行首,而下一行中也有该字符串,但不位于行首。因此可以通过对每行插入一串特殊字符,使得位于行首的4321abc变得特定。

注意执行下述命令前需要cp一个备份。

例如利用命令:%s/^/__vv__/可以对每行行首都插入__vv__,那么上述两行变为:

__vv__4321abc1111111
__vv__87654321abcfdsafcdsf

此时,只需要查询__vv__4321abc这个字符串出现的次数即可。

这一功能其实等价于直接统计行首下的字符串(没找到这个命令);或者可以借助上一行的回车符号,查询\n4321abcd,但是试了一下没成功。。。

可以用vim命令实现文本、字符串统计,可以避免写程序。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐