挖掘FOR的潛力 4

2021-08-22 09:22:21 字數 1134 閱讀 5203

前面三篇for文章對有關技巧做了些簡述,現在我將對for語句的靈活運用寫個詳細例子。

情景介紹:

我們要將某日誌檔案中特定內容的行資料搜尋出來, 並再過濾出其中一部分我們所需要的資訊. 比如, 有乙個日誌檔案內容是這樣的:

2007-05-01 00:00:00 statement1

2007-05-01 02:21:02 statement2

2007-05-02 03:13:05 statement3

.....................................

2007-05-23 23:22:11 statement3

.....................................

2007-06-01 12:24:43 statementx

可能每天的日誌中都會有statement3的相關記錄, 我們現在要從眾多日誌中搜尋出來, 並過濾出該記錄發生的時間資料以做統計之用.

rem 先清屏

clsrem 預先定義兩個檔名變數

set sourcefile=d:/temp/err2.log

set destfile=d:/temp/res.log

rem 執行"過濾"任務之前要先清除原產生的中間檔案

del /f /q %sourcefile%

del /f /q %destfile%

rem 按照指定內容,從眾多日誌中篩選出相關行資料並儲存到檔案中

rem 這裡的當前所有子目錄中都包含有daily.log檔案,我們要在所有的daily.log中執行搜尋

findstr /s /i "statement3" daily.log >> %sourcefile%

rem 從上面匯出的中間檔案中繼續篩選內容,具體用法請參考前幾篇文章介紹

rem 這裡的delims內容可根據你實際需要做相應修改

for /f "tokens=2 delims=:" %%i in (%sourcefile%) do @echo %%i >> %destfile%

rem 接收使用者按鍵並退出

@echo press any key to quit...

@echo off

pause > nul

挖掘FOR的潛力 4

前面三篇for文章對有關技巧做了些簡述,現在我將對for語句的靈活運用寫個詳細例子。情景介紹 我們要將某日誌檔案中特定內容的行資料搜尋出來,並再過濾出其中一部分我們所需要的資訊.比如,有乙個日誌檔案內容是這樣的 2007 05 01 00 00 00 statement1 2007 05 01 02...

挖掘 FOR 的潛力(2)

上一節講了利用for迴圈功能幫助我們輸出重複量較大的資料或是重複執行相同的命令。這一節還是繼續挖掘for的迴圈能力,但這裡的迴圈將和前面不同,它能幫助我們處理工作當中常遇到的資料格式化問題,也可以說是對資料的抽取 轉換和載入,用一句術語來形容,那就是etl extract tranform load...

挖掘 FOR 的潛力(3)

如何在多個檔案中查詢想要的資料?現使用 for 命令與 findstr 命令結合的方式,以達到我們的目的。演示步驟 1.在 d temp 目錄下有一堆文字檔案,stru001.xml,stru002.xml,stru003.xml,stru200.xml。2.在 d temp 目錄下建立一檔案列表檔...