国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

PowerShell實現在多個文件中檢索關鍵字功能

2020-03-26 19:12:25
字體:
來源:轉載
供稿:網友

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

 

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

 

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

PowerShell,多個文件中檢索關鍵字

 

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

 

PowerShell,多個文件中檢索關鍵字

 

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

 

PowerShell,多個文件中檢索關鍵字

 

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

 

PowerShell,多個文件中檢索關鍵字

 

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

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

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

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

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

由于是剛入門,如有出錯,大神們多多指教。

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭泽县| 新昌县| 寿光市| 宝坻区| 冀州市| 安义县| 岳普湖县| 仁化县| 马龙县| 永清县| 石泉县| 平安县| 海晏县| 于都县| 星座| 扎赉特旗| 太保市| 蒙山县| 光泽县| 石泉县| 五家渠市| 赞皇县| 武宣县| 寿阳县| 封丘县| 陆良县| 红原县| 麻栗坡县| 津南区| 莎车县| 潜山县| 库伦旗| 平定县| 吉木萨尔县| 寻甸| 成安县| 寻甸| 巴林右旗| 三明市| 齐河县| 平凉市|