Linux shell脚本计算文本文件中char序列的出现?

jdc*_*589 1 linux shell

我有一个大文本文件(超过70mb),需要计算文件中字符序列出现的次数.我可以找到很多脚本来完成这项工作,但是没有人会考虑到序列可以在不同的行上开始和结束.为了提高效率(我实际上有超过1个处理的文件),我无法预处理文件以删除换行符.

示例:如果我要搜索"thisIsTheSequence",则以下文件将包含3个匹配项:

asdasdthisIsTheSequence
asdasdasthisIsT
heSequenceasdasdthisIsTheSequ
encesadasdasda
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

bdo*_*lan 7

一种选择:

echo $((`tr -d "\n" < file | sed 's/thisIsTheSequence/\n/g' | wc -l` - 1))
Run Code Online (Sandbox Code Playgroud)

使用shell核心之外的实用程序可能有更高效的方法 - 特别是如果你可以将文件放在内存中.