標籤:http os 使用 sp strong on 檔案 資料 2014
使用內建工具FIND統計cmd.exe輸出的行數非常方便!
在命令列環境中工作時,能夠統計不同工具的輸出結果的行數有時會非常有用。許多Unix/Linux作業系統都包含帶有許多功能選項的wc 工具,Windows則沒有內建一樣的替代品,但是Windows命令提示字元(cmd.exe)原生支援了部分相同功能。
本文將講述在cmd.exe中我們可以如何使用FIND 工具來統計行數。工具find,有些類似於Unix上的grep,自MS-DOS以來就一直存在, 使用簡單。
假設我們有一台Windows伺服器,想看看當前有多少個活躍的TCP會話。這可以使用netstat命令,並且通過管道串連FIND來尋找已建立的會話。
netstat -ano | find /i "estab"
這行命令的輸出可能會有幾百行以至於佔滿整個命令提示字元視窗,而我們可能僅僅關心會話的數目。通過在這行命令之後增加一個/c 開關選項, 我們就能得到開啟的TCP會話的數目。
我們仍然使用上一個命令的過濾規則(通過尋找字串“estab”來找到包含ESTABLISHED狀態的行)但帶有/c,這樣就會僅顯現匹配行的數目。
如下另一個樣本則是查看本機快取的DNS記錄的數目。
選項/c也可以用於統計一個命令輸出的所有行。例如,我們想知道目錄服務(Active Directory)中分組的數目。通過一個管道串連到FIND /v "" /c , 我們能統計所有不匹配(/v )Null 字元串("")的行(即非空白行)。如果你使用過Unix工具wc,這就相當於wc -l 。
另一個樣本是:事件檢視器命令列工具wevtutil 會輸出大量日誌資料行。如果僅僅想知道現代Windows系統中不同日誌的數目,我們可以將幾百個記錄檔的檔案名稱 通過管道傳輸給FIND /v "" /c。
最後一個樣本是:假設有一個記錄檔或者類似檔案,總共有上千行內容。我們想快速知道包含特定短語的資料行的數目。
TYPE C:\Windows\Schedlgu.txt | FIND /i "task failure" /c
Windows命令提示字元中統計行數