找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: nono84223860

[文本处理] 批处理如何统计txt文本每行字符串出现的次数?

[复制链接]
 楼主| 发表于 2014-5-15 15:26:39 | 显示全部楼层
本帖最后由 nono84223860 于 2014-5-15 15:27 编辑

回复 34# terse


    GAWK 我刚刚下载了一个,没有EXE应用程序,无法打开,不知道怎么了

哎,统计一个数据与有那么难吗。

很痛苦
发表于 2014-5-15 15:27:36 | 显示全部楼层
请立马放出     http ftp 百度网盘下载地址
16g内存 +64位os实测 powershell开1.2G文件没问题。另外如果重复统计,应该用数据库,统计次数越多,数据库越有优势。
 楼主| 发表于 2014-5-15 15:28:37 | 显示全部楼层
回复 36# PowerShell

好的,我马上网盘给你,我的是4G内存,等我
 楼主| 发表于 2014-5-15 15:40:11 | 显示全部楼层
本帖最后由 nono84223860 于 2014-5-15 16:26 编辑

回复 36# PowerShell
发表于 2014-5-15 15:47:32 | 显示全部楼层
回复 35# nono84223860


从这里下载一个gawk试试
http://code.google.com/p/gnu-on-windows/downloads/list
 楼主| 发表于 2014-5-15 15:50:25 | 显示全部楼层
回复 39# DAIC
.

刚刚下载了第一个,打开然后1秒后闪退。。。WIN7 系统

倒数第二个也不行。。。。。情况一样
发表于 2014-5-15 15:54:12 | 显示全部楼层
回复 40# nono84223860


下载之后,把gawk.exe放到C:\windows\system32文件夹下面。
把别人帮你写的gawk代码放到test.bat里面
执行test.bat
 楼主| 发表于 2014-5-15 16:01:12 | 显示全部楼层
回复 41# DAIC

恩,我刚按照了你的操作方法

现在正在测试,等了大概5-10分钟左右,b.txt一直为0字节

但CPU好像一直在运行
 楼主| 发表于 2014-5-15 16:07:48 | 显示全部楼层
回复 41# DAIC





厉害啊大神啊,一下子解决了,膜拜啊 大小写也区分了,厉害厉害
发表于 2014-5-15 16:10:07 | 显示全部楼层
回复 43# nono84223860


等36楼的ps1代码出来之后,可以跟gawk比较一下,哪个快就用哪个。
 楼主| 发表于 2014-5-15 16:18:56 | 显示全部楼层
回复 44# DAIC


36楼的吃内存,电脑很卡,如果能内存大,可能这个快一些

你后面的方法 10分钟左右,完成70M的处理 准确无误 ,也算非常快的

efbcaffbadcceefahelldamnithelldamnit 1
dfbfbbcfbeffaef**leibofangleibofang 1
aedeaeffcfbfdbbdeleidcrleidcrzjj 1
adbabfddadceleileileileiwc 1
adadebebbaaddbleilovelleilovel 1
fdffbcbaccaabbaafleinaleideleinaleide 1
bbdbcdcbbleishangleishang 1
daeaabfbdbcebfdbcleitinleitin 1
caonniang 1
leizhiqiang 1
daaecacadedbbleklovescleklovesc 1
bcbbbablemonlemon 1
fdeccbeedcbshowliranshowliranbjhak 1
qudaohaod 1
efcadcceaefbbbfclennonleelennonlee 1
accaefedadleonbleonb 1
fcaafbfcleonalucardleonalucardmsnsazabi 1
ebbfdfbedleonardoleonardoeadcbaabbeeffe 1
bcddcdfac 1
fccffeaeaeeddleonidasleonidas 1
cbaceecacddaapcpspps 1

如果能改进一下,前面位数字,后面为英文,这样看得舒服点,如果改不了就算了,完美了,哈哈
 楼主| 发表于 2014-5-15 16:23:26 | 显示全部楼层
回复 44# DAIC

最后非常感谢大神耐心指导,小弟感激不尽
发表于 2014-5-15 16:36:28 | 显示全部楼层
回复 45# nono84223860


    这个是用几楼的代码得到的结果?
 楼主| 发表于 2014-5-15 16:47:27 | 显示全部楼层
回复 47# DAIC

这个是70MB里面的其中一部分展示,里面再也没有出现重复了,准确无误,如果能在出现的次数放在前面,后面是英文就好看的比较舒服直观些,


大神果然厉害,哈哈  34楼
发表于 2014-5-15 17:22:58 | 显示全部楼层
回复 48# nono84223860
  1. @if(0)==(0) echo off
  2. CScript.exe //NoLogo //E:JScript "%~f0" <a.txt >b.txt
  3. pause&goto:eof
  4. @end
  5. var arr = [];
  6. while (!WScript.StdIn.AtEndOfStream){
  7.     var str = WScript.StdIn.Readline();
  8.     if (arr[str]){arr[str]++};
  9.     else {arr[str] = 1};
  10. }
  11. var array = [];
  12. for (var key in arr) array.push([key, arr[key]]);
  13. array.sort(function(a, b){ return b[1] - a[1];});
  14. for (var i = 0; i < array.length; i++) {
  15.     WScript.Echo(array[i][1],array[i][0])
  16. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 20:56 , Processed in 0.020380 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表