我有一个大文本文件(超过70mb),需要计算文件中字符序列出现的次数.我可以找到很多脚本来完成这项工作,但是没有人会考虑到序列可以在不同的行上开始和结束.为了提高效率(我实际上有超过1个处理的文件),我无法预处理文件以删除换行符.
示例:如果我要搜索"thisIsTheSequence",则以下文件将包含3个匹配项:
asdasdthisIsTheSequence
asdasdasthisIsT
heSequenceasdasdthisIsTheSequ
encesadasdasda
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
一种选择:
echo $((`tr -d "\n" < file | sed 's/thisIsTheSequence/\n/g' | wc -l` - 1))
Run Code Online (Sandbox Code Playgroud)
使用shell核心之外的实用程序可能有更高效的方法 - 特别是如果你可以将文件放在内存中.