问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

写一个正则,统计出一个文件中某一段文字出现了多少次。

发布网友 发布时间:2022-04-22 21:18

我来回答

3个回答

热心网友 时间:2023-11-17 02:32

你要查找的文字是固定的,就不需要正则了。
如果是 Linux,用一个命令就能统计出来

grep "GET /CI/system/application/controllers/tongji.php" access.log |wc -l

Windows 的话,没这么方便。可能得自己写个小脚本。
也可以装个 Cygwin,就可以用 Linux 的命令了。
如果不是自动统计的话,用个文本编辑器,查找一下字符串也就出结果了。

补充:
我看了你给我发的消息,找不到路径是因为 windows 没有 grep 命令。
grep 是 Linux/Unix 的命令。
Windows 可以装 Cygwin 模拟 Linux 环境。
Cygwin 的安装程序可以从这儿下载:
http://www.cygwin.com/

如果还是不行,给你一个VBScript的程序(Windows的脚本)

Function grep(sSearch, sFileName)
SET FSO = CreateObject("Scripting.FileSystemObject")
SET FP = FSO.OpenTextFile(sFileName, 1, FALSE)
If Err.Number <> 0 Then
WScript.Echo ("Error " & CStr(Err.Number) & " " & Err.Description)
EXIT Function
End If
i = 1
count = 0
Do Until FP.AtEndOfStream
sLine = FP.ReadLine
If sLine<>vbNull Then
Z = InStrRev(sLine, sSearch)
If Z>0 Then
'WScript.Echo i & " : " & sLine
count = count + 1
End If
End If
i = i + 1
Loop
grep = count
End Function

Set args = WScript.Arguments
count = grep(args(0), args(1))
WScript.Echo "Total Count = " & count

保存成 grep.vbs,放在系统环境变量PATH的某个路径下,或者是当前路径,
然后执行
grep "GET /CI/system/application/controllers/tongji.php" access.log

也能出结果。

热心网友 时间:2023-11-17 02:33

用软件Replace Pioneer可以办到。支持正则表达式,而且同时支持多个项目一起统计,每个统计还可以看明细。

详细步骤:
1. ctrl-o打开待处理的日志文件access.log
2. 打开Tools->Pattern Counter菜单
3. 点击Clear清除缺省的统计项,点击Add添加
* 在Name输入"我的统计1"
* 在Pattern输入:
"GET /CI/system/application/controllers/tongji.php"(不带双引号)
4. 去掉Regular Exp前面的勾,点击Count即得出总数。

热心网友 时间:2023-11-17 02:33

# Ruby one-liner

ruby -ne "i=0; i=i+1 if {GET /CI/system/application/controllers/tongji\.php}; puts i" access.log

或者自己写你自己PHP的呀,太简单了...

<?php
$i=0;
$fh = fopen("access.log");
while ($line = $fh->readline()) {
if (preg_match($line, /GET\s?\/CI\/system\/application\/controllers\/tongji\.php/i))
{GLOBAL $i++};
}
echo $i;
?>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
石料加工服务可以全部交给第三人完成吗 山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 linux统计一个包含于另一个关键字的关键字次数 求解linux的问题!!!根据Shell脚本程序统计文本string.txt中单词“linux“出现的次数。 在linux中如何统计出目标文件内容的每一行包含特殊字符串的数量? linux如何使用grep ,wc -l命令统计一个文件中的多个字符串的个数,并且只读取1次文件。 linux 查找文件中每一行 字符串出现的次数 用linux命令查看一个字符串在文件里出现的次数。 linux 中 统计多个关键字在某个文本中出现的次数,并按次数排序,怎么写呀 统计linux某个单词出现次数怎么操作? 快速腌制鹌鹑蛋? - 信息提示 鹌鹑蛋怎么做才能放的时间长? 在家怎么烹饪鹌鹑蛋? 去皮鹌鹑蛋煮出来怎么晾干水份? 怎样把生鹌鹑蛋皮用水泡软? 如何好又快的剥鹌鹑蛋? 用电水壶煮过一次鹌鹑蛋,不小心还煮破了,从此壶里就一股鸡蛋腥味,请问... 白牙膏可以把鹌鹑蛋上的斑点刷没,这是真的吗? 中药店买的黑桑葚,有什么副作用吗?可不可以长期吃 吃桑葚的好处和坏处 药桑子及桑叶的功效及副作用 Linux中如何用命令实现:hello.txt文件内每行一个字符串,统计字符串“hello”出现的次数 如果夫妻离婚但房贷还未还清,怎么办? 未还清贷款的房子离婚怎么算 房贷还未还清的情况下,离婚后房产证上怎么去掉共有人的名字 如果夫妻离婚,但房贷还未还清,该怎么处理? 房贷未还清离婚怎么过户 贷款未还清,现在离婚了怎么把对方从房产证除名? 贷款没还清的房子,如果离婚了怎么分? 夫妻离婚房产贷款还未还清怎么分割 房子没还完贷款怎么离婚 未还清贷款离婚怎么办理析产 通过怎么添加好友 有贷款未还清的房子,离婚怎么更改名字 贷款未还清,现在离婚了怎么把对方从房产证除名 怎么搜索加好友 贷了三十万贷款买了个二手房两人感情不合想离婚,这月货款木打怎么办? 夫妻有房贷没还完离婚时怎么办 二手房过户后准备贷款却面临离婚怎么办 离婚房子贷款没有还清可以离婚吗 微信申请列表无法添加好友了,是怎么回事?