返回列表 发帖
本帖最后由 rack 于 2013-6-14 19:11 编辑

回复 14# terse


    这个非常不错,应完美了。
辛苦了
时间缩短了一半

开始的那个好像是特殊符号(!,等)开头的排不出来,所以后成了空的。
现在这个所有的符号开头的都排出来了
下面是测试结果:
开头几行:
1904 123456789
213 1234567890
201 woaini1314
170 a123456789
140 987654321
121 abc123456
119 147258369
116 qq123456

结尾的几行:
1 !!!liangsihui
1 !!!635834664QQ
1 !!!381674763.hao
1 !!!198975zd%%%
1 !!!18760239795a
1 !!!!wang1017
1 !!!!963..a
1 !!!!!???
1 !!!!!!520.
1 !!!!!!0309

TOP

回复 15# Python


    要用的这个就是测试这个文件只有几W行
像我这类文件很多,有几MB,几百MB,上G的都有。

TOP

回复  terse


    这个非常不错,应完美了。
辛苦了
时间缩短了一半

开始的那个好像是特殊符号( ...
rack 发表于 2013-6-14 18:52

好用就好 但行数是有限制的 可以试着加大t
另 b[1]%%t 换为 b[1]-t  不知道效率提高点不 可试下

TOP

我的双核四线,8G内存,用这个只能处理300MB以下的数据,大点的打开闪几下就自动关了。
改成b[1]-t  好像差不多。

TOP

这个真不知道
现在不是内存问题
不知道32位机器处理多大
难道64位会有改善吗 我也不知道

TOP

回复 6# terse


    这个虽不可以排序特殊符号!等开头,但可以处理800MB以上文件。

TOP

回复 20# terse


    我是用WIN7,64位的系统处理

TOP

回复 6# terse



我用了你这个统计出问题了 很多重复,什么原因,存在BUG

跪求啊

TOP

本帖最后由 nono84223860 于 2014-5-14 23:07 编辑

回复 6# terse


统计后

513340  a
125258  q      <<<<<<<<<<<<<<<<<<<<---------------------------------
76660  w
71654  z
39801  s
37051  x
29514  l
21589  c
21297  y
19345  z
16611  m
14866  f
14802  h
14050  d
12060  g
11941  b
11021  k
10528  t
10507  j
9588  p
9406  w
6718  q                     <<<<<<<<<<<<<<<<<<<<---------------------------------
6495  A
4691  l
4258  r
3918  e
3402  h
3195  n
3155  v
2813  o
2559  o
2471  E
1763  i
1654  Q
1111  Z
1017  W
933  L
920  u
857  X
777  b
645  H
505  F
491  S
426  G
404  B
393  C
388  Y
384  D
383  O
366  M
307  T
292  K
272  J
235  n
230  P
168  R
114  N
79  I
46  V
21  U
1  y
1  W
1  v
1  u
1  t
1  R
1  O
1  k
1  j
1  I
1  g
1  f

TOP

8G服务器不算啥。
16g内存 +64位os实测
powershell开1.2G文件没问题。
Get-Content a:\pscode\a.txt | Group-Object  -CaseSensitive | Sort-Object -Property count -Descending | Format-ListCOPY
你不就是想统计弱密码么?你这个应该用数据库,
数据库是什么?是索引。
第一次索引很慢,后来就快。而且数据变动,自动更新索引。
而上面的命令出来的统计都也相当于索引,但是临时的,数据库索引可以看成是永久的,和自动更新的。


用数据库的话,是一条一条插入,第一次是很慢很慢的。当然,oracle,新版sql server,有个导入数据功能,提速了很多,
一条条的话,没有什么大小限制了,1tb----5tb都不在话下。

数据库对内存要求也不高,1g内存即可,当然给数据库内存越大越快。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

本帖最后由 pcl_test 于 2016-8-21 19:26 编辑

回复 23# nono84223860
//&cls&cscript -nologo -e:jscript "%~f0"<"文本.txt">"结果.txt"&pause & exit
var map ={}, arr =[];
while(!WSH.StdIn.AtEndOfStream){
    var line = WSH.StdIn.ReadLine().replace(/^\s*|\s*$/g,'');
    if(!map[line]){
        map[line]=1;
        arr.push(line);
    }else map[line]++;
}
arr.sort(function(a, b){return map[b]-map[a]});
for(var i=0; i<arr.length; i++)WSH.echo(arr[i]+' '+map[arr[i]]);COPY

TOP

回复 3# rack

TOP

返回列表