婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用vbs計(jì)算某個詞在日志文件中的出現(xiàn)次數(shù)

用vbs計(jì)算某個詞在日志文件中的出現(xiàn)次數(shù)

熱門標(biāo)簽:外呼線路中繼線是什么 外呼系統(tǒng)免費(fèi)招代理 廣州ai電銷機(jī)器人一般多少錢 怎么看地圖標(biāo)注 拉薩外呼系統(tǒng)業(yè)務(wù) 外呼系統(tǒng)telrobot 百度地圖標(biāo)注是什么意思 合肥高德地圖標(biāo)注 深圳外呼系統(tǒng)收費(fèi)
問:
您好,腳本專家!如何計(jì)算 Failure 一詞在日志文件中的出現(xiàn)次數(shù)?這里有個問題:由于日志文件一個接一個地寫入事件,因而創(chuàng)建了一個非常之長的文本行。
-- FS
答:
您好,F(xiàn)S。根據(jù)您電子郵件的其余部分來看,您的日志文件與下面的有些相似:
Failure 2/7/2006 8:25 AM Failure 2/7/2006 9:45 AM Success 
2/7/2006 3:10 PM Failure 2/8/2006 9:15 AM Success 2/7/2006 3:01 PM
正如您提到的,您首先想到的是使用 InStr 函數(shù)來查看是否 Failure 出現(xiàn)在日志文件中每行的某個地方;然后您可以通過活動計(jì)數(shù)器計(jì)算找到該詞的次數(shù),這與我們在昨天的專欄中演示的方法非常相似。這是個好主意,但是,正如您所發(fā)現(xiàn)的,在該方案中有一個重大的缺陷:從技術(shù)角度來說,您的日志文件僅包含一行。因此,盡管實(shí)際存在很多實(shí)例,但您的腳本總是報(bào)告只發(fā)現(xiàn) Failure 的一個實(shí)例。您在郵件中寫道:但是我被難住了,因?yàn)闊o法將單行拆為多行。
唉,您對我們一點(diǎn)信心都沒有。試試這個看看是不是合適:
復(fù)制代碼 代碼如下:

Const ForReading = 1 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("c:\scripts\test.log", ForReading) 
strContents = objFile.ReadAll 
objFile.Close 
i = 0 
arrLines = Split(strContents, " ") 
For Each strLine in arrLines 
    If InStr(strLine, "Failure") Then 
        i = i + 1 
    End If 
Next 
Wscript.Echo "Number of failures: "  i 
當(dāng)然,我們還有其他一些方法也能夠解決此問題。我們采用此方法,因?yàn)樗耆呛夏畛醯南敕ǎ椅覀冋J(rèn)為它對于每個人來說都非常容易理解。我們提到這一點(diǎn)只是為了防止有人讀到此處時想,“嘿,我可不會這么解決這個問題。”沒問題:這不是唯一的答案。它只是答案的一種。
好了,那么腳本本身呢?嗯,我們首先定義了一個名為 ForReading 的常量;我們會在稍后打開日志文件時使用此常量。接下來我們創(chuàng)建 Scripting.FileSystemObject 的實(shí)例并使用 OpenTextFile 方法打開文件 C:\Scripts\Test.log。文件打開后,我們使用 ReadAll 方法以將此文件的全部內(nèi)容讀取到變量 strContents 中,然后關(guān)閉 Test.log 文件。
您清楚了嗎?接下來我們將值 0 賦于名為 i 的計(jì)數(shù)器變量;我們將使用 i 作為活動計(jì)數(shù)器來計(jì)算我們遇到 Failure 一詞的每個實(shí)例。然后我們使用下面這行代碼:
arrLines = Split(strContents, " ")
還記得您說過的,您被難住,因?yàn)槿罩疚募麄€是非常之長的一行嗎?嗯,我們在這里主要是將您的日志文件(或至少在變量 strContents 中存儲的那個版本)分成一組較短的行。在您的日志文件中,單個詞語以空格分開。在這行代碼中,我們使用 Split 函數(shù)將 strContents 的值“拆分”為數(shù)組;通過對空格拆分(即,通過每次遇到空格便在數(shù)組中創(chuàng)建新項(xiàng))我們得到一個數(shù)組,其開頭如下:
Failure 
2/7/2006 
8:25 
AM 
Failure 
2/7/2006 
9:45 
AM 
Success
當(dāng)然,它看起來很好笑,但是現(xiàn)在我們可以建立一個 For Each 循環(huán)來遍歷數(shù)組中的每項(xiàng);更重要的是,我們還可以使用 InStr 方法查看是否可在這些行的任意行中找到 Failure 一詞。如果可以,我們將增加計(jì)數(shù)器變量 i 的值。所有這些均由下面這段代碼執(zhí)行:
For Each strLine in arrLines
    If InStr(strLine, "Failure") Then
        i = i + 1
    End If
Next
在我們遍歷 For Each 循環(huán)后,我們所要做的只是回顯 failure,然后就完成了。
現(xiàn)在,檢查:我們所要做的只是回顯在日志文件中找到的 failure 數(shù)量。您的腳本可能在完成回顯所有 failure 之前超時很長時間。(但我們?nèi)哉J(rèn)為與名人共同編寫腳本要比觀看與名人共舞或滑冰更有意思。)

標(biāo)簽:廣安 六安 臺灣 延安 玉林 周口 嘉興 漳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用vbs計(jì)算某個詞在日志文件中的出現(xiàn)次數(shù)》,本文關(guān)鍵詞  用,vbs,計(jì)算,某個,詞,在,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用vbs計(jì)算某個詞在日志文件中的出現(xiàn)次數(shù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于用vbs計(jì)算某個詞在日志文件中的出現(xiàn)次數(shù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 珲春市| 盖州市| 兴城市| 炎陵县| 绥滨县| 伊金霍洛旗| 呼玛县| 邵阳县| 江西省| 满洲里市| 巨野县| 虞城县| 克东县| 承德县| 济宁市| 分宜县| 新龙县| 大庆市| 东乡县| 南川市| 达拉特旗| 获嘉县| 安仁县| 安西县| 辽阳市| 临夏市| 右玉县| 崇礼县| 邵东县| 章丘市| 禹州市| 措美县| 宜春市| 阆中市| 凤山县| 景洪市| 宜兰市| 德昌县| 定边县| 桂阳县| 泸溪县|