. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#16 旧 2005-09-03, 21:20:35 默认
hitme 当前离线  

引用:
作者: LeoDou
cmd 强人!!!

可惜还不能能用在统计汉字

我前段时间还发帖问过这个问题:
【求助】有没有软件可以统计出一篇或几篇文章中字的频率
http://bbs.et8.net/bbs/showthread.php?t=683978

相信hitme兄略微修改一下,统计汉字也可以实现。

期待中!!!
用法同顶楼,中文字应该不难,想办法竖排一列喽,试试
代码:
 @echo off  
setlocal ENABLEDELAYEDEXPANSION  

for /f "delims=" %%i in (%1) do (  
            set n=%%i      
            echo.!n!>tmp.txt  
            echo.x>>tmp.txt  

            for /f "tokens=1 delims=:" %%a in ('findstr /o "x" tmp.txt') do set lenth=%%a  
            for /l %%a in (0,1,!lenth!) do (  
                    set m=!n:~%%a,1!
                    if "!m!" neq "" echo.1 !m!>>tmp1.txt  
            )  
)  
endlocal 

setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=1,2" %%i in ('sort tmp1.txt') do (
			if /i "!y!"=="%%j" (
					set /a x+=1) else (	if "!x!" neq "" (
								if !x! lss 10 (echo.000!x! !y!>>tmp2.txt) else (
								if !x! lss 100 (echo.00!x! !y!>>tmp2.txt) else (
								if !x! lss 1000 (echo.0!x! !y!>>tmp2.txt))))
								set y=%%j
								set x=%%i)
					
)
if !x! lss 10 (echo.000!x! !y!>>tmp2.txt) else (
if !x! lss 100 (echo.00!x! !y!>>tmp2.txt) else (
if !x! lss 1000 (echo.0!x! !y!>>tmp2.txt)))
endlocal

sort /r tmp2.txt|findstr /r /i /v "[a-z]">end.txt  
del tmp*.txt  
start end.txt
上传的附件
文件类型: rar z_num.rar (485 字节, 17 次查看)

此帖于 2005-09-04 13:35:43 被 hitme 编辑. .
LeoDou
 
LeoDou 的头像
『软件使用』版主
 
资 料:
注册日期: Sep 2003
帖子: 3,821 声望值: 3
精华: 13,解答: 12
#17 旧 2005-09-03, 21:29:31 默认
LeoDou 当前离线  

这么快啊。

可能还有问题,之行后并没有统计出相同的字数也没有排列,只是把相同的字排到一起了:

引用:
0001 做
0001 作
0001 作
0001 作
0001 作
0001 左
0001 最
0001 最
0001 最
0001 组
0001 组
0001 组
0001 组
0001 组
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#18 旧 2005-09-03, 21:31:23 默认
hitme 当前离线  

引用:
作者: LeoDou
这么快啊。

可能还有问题,之行后并没有统计出相同的字数也没有排列,只是把相同的字排到一起了:
还是你动作快,我刚偷偷修正过了,更新下
LeoDou
 
LeoDou 的头像
『软件使用』版主
 
资 料:
注册日期: Sep 2003
帖子: 3,821 声望值: 3
精华: 13,解答: 12
#19 旧 2005-09-03, 21:39:24 默认
LeoDou 当前离线  

还有问题吧?

我和上次一样操作,得到这个:

引用:
000
运行时提示:
系统找不到文件1.txt
tmp1.txt系统找不到指定文件

此帖于 2005-09-03 22:40:03 被 LeoDou 编辑. .
romano
 
romano 的头像
超级会员
 
资 料:
注册日期: Aug 2002
帖子: 1,334 声望值: 3
精华: 0,解答: 6
#20 旧 2005-09-04, 02:26:29 默认
romano 当前离线  

这个应该可以去掉标点符号了
string.punctuation 有 '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

wordnum.exe infilename outputfilename
outputfilename 缺省为 output.txt 输入文件缺省为 test.txt
没有错误检查,如果没有输入文件, 就报错退出啦,哈哈
上传的附件
文件类型: rar dist.rar (422.8 KB, 10 次查看)
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#21 旧 2005-09-04, 13:26:40 默认
hitme 当前离线  

引用:
作者: LeoDou
还有问题吧?

我和上次一样操作,得到这个:



运行时提示:
系统找不到文件1.txt
tmp1.txt系统找不到指定文件
不好意思,把测试的贴了上来,更新,再试试
另外,论坛的php标签比较奇怪,贴上来的code,set行尾自动加了个空格。。。附上附件安全点

此帖于 2005-09-04 13:38:55 被 hitme 编辑. .
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#22 旧 2005-09-04, 13:29:26 默认
hitme 当前离线  

引用:
作者: romano
这个应该可以去掉标点符号了
string.punctuation 有 '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

wordnum.exe infilename outputfilename
outputfilename 缺省为 output.txt 输入文件缺省为 test.txt
没有错误检查,如果没有输入文件, 就报错退出啦,哈哈
谢谢啊,output的换行符还要改一下
romano
 
romano 的头像
超级会员
 
资 料:
注册日期: Aug 2002
帖子: 1,334 声望值: 3
精华: 0,解答: 6
#23 旧 2005-09-04, 13:55:38 默认
romano 当前离线  

引用:
作者: hitme
谢谢啊,output的换行符还要改一下
试试这个, 用os.linesep替换了'\n'
上传的附件
文件类型: rar dist.rar (422.8 KB, 14 次查看)
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#24 旧 2005-09-04, 14:06:18 默认
hitme 当前离线  

引用:
作者: romano
试试这个, 用os.linesep替换了'\n'
再次感谢,这下行了。。
LeoDou
 
LeoDou 的头像
『软件使用』版主
 
资 料:
注册日期: Sep 2003
帖子: 3,821 声望值: 3
精华: 13,解答: 12
#25 旧 2005-09-04, 14:47:12 默认
LeoDou 当前离线  

引用:
作者: hitme
不好意思,把测试的贴了上来,更新,再试试
另外,论坛的php标签比较奇怪,贴上来的code,set行尾自动加了个空格。。。附上附件安全点
可以了,非常感谢。

再过分一点,能把数字改成5位吗?也许需要统计的字数比较多,趁此机会备下一个,省的以后麻烦。 :blush;

cmd 我是学不会了。 :blush;
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#26 旧 2005-09-04, 14:57:17 默认
hitme 当前离线  

引用:
作者: LeoDou
可以了,非常感谢。

再过分一点,能把数字改成5位吗?也许需要统计的字数比较多,趁此机会备下一个,省的以后麻烦。 :blush;

cmd 我是学不会了。 :blush;

不客气 5位? 99999个"干"
上传的附件
文件类型: rar z_num5.rar (491 字节, 25 次查看)
LeoDou
 
LeoDou 的头像
『软件使用』版主
 
资 料:
注册日期: Sep 2003
帖子: 3,821 声望值: 3
精华: 13,解答: 12
#27 旧 2005-09-04, 15:03:32 默认
LeoDou 当前离线  

You are so COOL!

呵呵,也许是过分了。

说一下我的用处吧:其实是给孩子认字用的,所以统计的东西越多,越是准确,只要把位于前1000、2000、3000位的字先来教孩子就行了。

我觉得这比什么“识字”教材都强,使用频率高的字先学,这样最科学。那些识字教材里很多都是生僻字。

此帖于 2005-09-04 15:11:13 被 LeoDou 编辑. .
hitme
 
hitme 的头像
支柱会员
 
资 料:
注册日期: Oct 2001
帖子: 6,489 声望值: 2
精华: 38,解答: 6
#28 旧 2005-09-04, 15:19:27 默认
hitme 当前离线  

引用:
作者: LeoDou
You are so COOL!

呵呵,也许是过分了。

说一下我的用处吧:其实是给孩子认字用的,所以统计的东西越多,越是准确,只要把位于前1000、2000、3000位的字先来教孩子就行了。

我觉得这比什么“识字”教材都强,使用频率高的字先学,这样最科学。那些识字教材里很多都是生僻字。
呵呵,最好再有个字典数据库,再来个词语联想。。。。真人发音。。。芯片移植。。。完美拉,哈哈
LeoDou
 
LeoDou 的头像
『软件使用』版主
 
资 料:
注册日期: Sep 2003
帖子: 3,821 声望值: 3
精华: 13,解答: 12
#29 旧 2005-09-04, 16:38:23 默认
LeoDou 当前离线  

引用:
作者: hitme
呵呵,最好再有个字典数据库,再来个词语联想。。。。真人发音。。。芯片移植。。。完美拉,哈哈
哈哈,这个还真想过,早就觉得是个好主意,应该也不是很复杂,开发出来一定畅销。

如果孩子在听到话的时候,能同时显示字型,那他记起来是很容易的。小孩的记忆本领是非凡的。
spare
 
spare 的头像
中级会员
 
资 料:
注册日期: Mar 2002
帖子: 419 声望值: 2
精华: 1
#30 旧 2005-09-04, 16:55:50 默认
spare 当前离线  

精采...高人啊...


//
spare 
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 02:16:32.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号