标题: 关于统计文本文件中字符出现次数的讨论
[打印本页]
作者: vkill
时间: 2006-12-30 06:19
标题: 关于统计文本文件中字符出现次数的讨论
记得以前无奈何斑竹说过用grep,不过我回去试了那方法,如果同一行出现多个被统计字符的时候就不准确了
我是用sed完成的,不知道不用三方工具可不可以?
test.txt
~@#$%%%!!!&*()123
%!7809
比如说分别统计test.txt文件中 % 和 ! 出现的次数
我是这样弄的,复杂了点,感觉
set "var=%"
set "life=test.txt"
sed "/%var%/!d;s/[^%var%]//g;s/./\n0/g" %life% |sed /^0$/!d |sed -n $=
[
Last edited by vkill on 2006-12-30 at 07:03 AM ]
作者: NaturalJ0
时间: 2006-12-30 06:26
我突然想到以前 est 的看文件大小的方法。
把某文件中所有某字符删去,再看看文件变小多少,可行否?
作者: tao0610
时间: 2006-12-30 06:32
点一点
作者: ccwan
时间: 2006-12-30 06:41
坛子里下的hitme的cmd全集里也有谈到,不过不知为什么,里面代码好像不是干这个的,谁能说说?
作者: 无奈何
时间: 2006-12-30 06:55
用纯批处理实现的话很难到实用程度,不过应该能够完成。关键词不含空格的话可以这样,先用 findstr 过滤一下,然后整行当作参数提交给处理代码段,用 shift 和 %1 循环计数,不过真的太不实用了。
再者 GREP -c 统计的是匹配行,用管道再过滤一下就可以了。如下:
grep -o "PATTERN" file|grep -c "PATTERN"
作者: vkill
时间: 2006-12-30 07:00
Quote: |
Originally posted by 无奈何 at 2006-12-30 06:55:
用纯批处理实现的话很难到实用程度,不过应该能够完成。关键词不含空格的话可以这样,先用 findstr 过滤一下,然后整行当作参数提交给处理代码殠... |
|
grep有它的缺陷的,我以前也想过用grep,比如说我要是找^就不可以了,得写为grep "^^"才可以
[
Last edited by vkill on 2006-12-30 at 07:04 AM ]
作者: vkill
时间: 2006-12-30 07:08
哎,试了下,不管用sed还是grep,那些正则总是没有办法," .* / "等等这些特殊
作者: 无奈何
时间: 2006-12-30 07:18
试试 grep -F 参数。