主頁 > 知識庫 > PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能

PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能

熱門標(biāo)簽:湖州電銷防封卡 使用電話機器人電銷是否違法 雷霆電話機器人電話 安徽400電話辦理 信陽話務(wù)外呼系統(tǒng)怎么收費 電話智能外呼系統(tǒng)誠信合作 什么渠道可以找外呼系統(tǒng)客戶 真人和電話機器人對話 金融電銷公司怎么辦理外呼系統(tǒng)

這幾天在看Powershell,感覺挺強大的,一個小任務(wù),是用powershell實現(xiàn)多個文件中檢索萬行記錄的腳本。剛開始想用用Get-Content 結(jié)合Where-Object來實現(xiàn),發(fā)現(xiàn)檢索的結(jié)果太慢,而且檢索的條目顯示出來后不知道來自哪個文件,這個雖然也容易實現(xiàn),但是經(jīng)過對多種方法的探索,我發(fā)現(xiàn)竟然一條強大的命令竟然可以實現(xiàn)所有這些需求,而且超快的。

一般用于IIS日志分析,由于主要是介紹這個PS命令的,IIS日志是從服務(wù)器端抓取的,這里僅就是測試用的一半數(shù)據(jù)。

首先進入到相應(yīng)目錄,查看當(dāng)前目錄下的文件,其中四個log文件是用來測試的。如下:

然后就用下面這條命令實現(xiàn)那個強大的功能:

比如要搜索關(guān)鍵字write,則輸入write回車之后,搜索到的結(jié)果如下(僅截取部分,這里由于隱私,日志文件是俺造的,只是數(shù)據(jù)量比較大,內(nèi)容純屬虛構(gòu)~~):

可以將這條語句賦給一個臨時變量,來查看一下在這瞬間查出了多少數(shù)據(jù):

其實也不多,4個日志文件中瞬間查出了500條數(shù)據(jù),其實這個看不出來,因為我造的數(shù)據(jù)量還不夠大。。。

下面對這條強大的命令簡單解釋下:

整體其實就是使用了Select-String這個命令,具體用法參考:

http://technet.microsoft.com/zh-cn/library/dd315403.aspx

Get-ChildItem是得到當(dāng)前面目錄下的所有項,然后通過管道| 輸入給?(就是Where-Object的別名)來篩選,及篩選當(dāng)前目錄下的log文件,$_代表當(dāng)前對象,即前面查出的結(jié)果,-like使用了模式匹配,$(Read-Host)是從控制臺讀入,類似C#中的ReadLine()(相應(yīng)的標(biāo)準(zhǔn)輸出是Write-Host),即當(dāng)用戶輸入一個關(guān)鍵字后,命令會從后向前的執(zhí)行。

由于是剛?cè)腴T,如有出錯,大神們多多指教。

標(biāo)簽:岳陽 濟南 鶴崗 湛江 山南 德州 六盤水 運城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能》,本文關(guān)鍵詞  PowerShell,實,現(xiàn)在,多個,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章