![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 22:48 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 关于统计文本文件中字符出现次数的讨论 |
| 可打印版本 1,086 / 7 |
| 第1楼 vkill | 发表于 2006-12-30 06:19 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
关于统计文本文件中字符出现次数的讨论 记得以前无奈何斑竹说过用grep,不过我回去试了那方法,如果同一行出现多个被统计字符的时候就不准确了
我是用sed完成的,不知道不用三方工具可不可以? test.txt ~@#$%%%!!!&*()123 %!7809 比如说分别统计test.txt文件中 % 和 ! 出现的次数 我是这样弄的,复杂了点,感觉 set "var=%" set "life=test.txt" sed "/%var%/!d;s///g;s/./\n0/g" %life% |sed /^0$/!d |sed -n $= [ Last edited by vkill on 2006-12-30 at 07:03 AM ] |
|
| 第2楼 NaturalJ0 | 发表于 2006-12-30 06:26 |
| 银牌会员 发帖 533 积分 1,181 | |
|
我突然想到以前 est 的看文件大小的方法。
把某文件中所有某字符删去,再看看文件变小多少,可行否? |
|
| 第3楼 tao0610 | 发表于 2006-12-30 06:32 |
| 高级用户 发帖 218 积分 579 | |
| 第4楼 ccwan | 发表于 2006-12-30 06:41 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
坛子里下的hitme的cmd全集里也有谈到,不过不知为什么,里面代码好像不是干这个的,谁能说说?
|
|
| 第5楼 无奈何 | 发表于 2006-12-30 06:55 |
| 荣誉版主 发帖 356 积分 1,338 | |
|
用纯批处理实现的话很难到实用程度,不过应该能够完成。关键词不含空格的话可以这样,先用 findstr 过滤一下,然后整行当作参数提交给处理代码段,用 shift 和 %1 循环计数,不过真的太不实用了。
再者 GREP -c 统计的是匹配行,用管道再过滤一下就可以了。如下: grep -o "PATTERN" file|grep -c "PATTERN" |
|
| 第6楼 vkill | 发表于 2006-12-30 07:00 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by 无奈何 at 2006-12-30 06:55: grep有它的缺陷的,我以前也想过用grep,比如说我要是找^就不可以了,得写为grep "^^"才可以 [ Last edited by vkill on 2006-12-30 at 07:04 AM ] |
|
| 第7楼 vkill | 发表于 2006-12-30 07:08 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
哎,试了下,不管用sed还是grep,那些正则总是没有办法," .* / "等等这些特殊
|
|
| 第8楼 无奈何 | 发表于 2006-12-30 07:18 |
| 荣誉版主 发帖 356 积分 1,338 | |
|
试试 grep -F 参数。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |