标题: [文本处理] [已解决]批处理怎样在大文件里面查找某个关键字出现的次数? [打印本页]
作者: lxningbat 时间: 2013-6-5 09:58 标题: [已解决]批处理怎样在大文件里面查找某个关键字出现的次数?
本帖最后由 lxningbat 于 2013-6-6 15:31 编辑
小的几百M,大的上G,有什么命令可以比较快速的现实么?
作者: xxpinqz 时间: 2013-6-5 11:05
第三方了解的实在少,貌似这样可以的,论坛搜索下载一个sed.exe- @echo off&chcp 437|graftabl>nul 936
- set /p "str=输入查找字符串:"
- if not defined str goto :eof
- set n=0
- for /f %%a in ('sed -n "/%str%/p" a.txt^|sed -n "$="') do set n=%%a
- echo 字符串%str%出现%n%次.
- pause
复制代码
作者: Python 时间: 2013-6-5 11:18
复制代码
复制代码
作者: xxpinqz 时间: 2013-6-5 12:15
丢人哦,一看到个几G,不自觉的就觉得要用第三方,都忘了两个FIND处理大小文件都没什么差别~~
作者: lxningbat 时间: 2013-6-5 14:10
回复 3# Python
谢谢二们的回答!grep 相对我的问题较高的效率,但如果一行中包含了二个或以上的关键字呢那出现的次数要去计算?
作者: Python 时间: 2013-6-5 14:47
回复 5# lxningbat - grep -o "bathome" a.txt | find /c /v ""
复制代码
- grep -o "bathome" a.txt | grep -c "bathome"
复制代码
作者: terse 时间: 2013-6-5 15:44
- gawk "{t+=gsub(/bathome/,$0)}END{print t}" "a.txt"
- PAUSE
复制代码
作者: lxningbat 时间: 2013-6-6 15:30
感谢各位的帮助,谢谢。,,,,测试中 grep 相对更快些
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |