[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 33# nono84223860
用P处理大文件 还是比较吃力吧
不清楚 sort 为什么会把字母分成如这样 fffffffFFFFFFFFf  的形式
你可以用GAWK 处理 估计效率可以提高点
另 JS 处理的 对于大文件估计也比较吃力   没测试
  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][0],array[i][1])
  16. }
复制代码

TOP

回复 50# nono84223860

什么情况啊 能表述详细否

TOP

回复 52# nono84223860

你弄个样本测试下

TOP

回复 52# nono84223860
另 原先的三方 GAWK 速度明显提高 可以试下
GAWK 论坛有下载的
  1. @echo off
  2. (gawk -vt=10000000000 "{ar[$0]++}END{l=asorti(ar,b);for(i=1;i<=l;i++) a[ar[b[i]]+t,b[i]];asorti(a);for(i=l;i>=1;i--) {split(a[i],b,SUBSEP);print b[1]%%t,b[2]}}")<a.txt >b.txt
  3. pause
复制代码

TOP

返回列表