2013-04-17 26 views
2

我有轉儲出一臺PLC和樣本文本(它沒有頭,只是原始數據)每天的日誌文件:LOGPARSER數元件

5/29/2009 3:05:33 PM: PLC Requested Hand Scan 
5/29/2009 3:05:40 PM: HH Label Data Retrieved: 078797312 
5/29/2009 3:05:40 PM: PLC Requested Scale Weight 
5/29/2009 3:05:40 PM: Scale Data Retrieved: 56.0 
5/29/2009 3:05:40 PM: ProcessMOSData Loop: 1 
5/29/2009 3:05:40 PM: About to read 
5/29/2009 3:05:40 PM: Read: False 
5/29/2009 3:05:40 PM: ProcessMOSData Loop: 2 
5/29/2009 3:05:40 PM: About to read 
5/29/2009 3:05:40 PM: Read: True 
5/29/2009 3:05:40 PM: Found Bin02 
5/29/2009 3:05:40 PM: ProcessMOSData Loop: 3 
5/29/2009 3:05:40 PM: About to read 
5/29/2009 3:05:40 PM: Read: False 
5/29/2009 3:05:40 PM: ProcessMOSData Loop: 4 
5/29/2009 3:05:40 PM: About to read 
5/29/2009 3:05:40 PM: Read: False 
5/29/2009 3:05:40 PM: ProcessMOSData Loop: 5 
5/29/2009 3:05:40 PM: About to read 
5/29/2009 3:05:41 PM: Read: False 
5/29/2009 3:05:41 PM: ProcessMOSData Loop: 6 
5/29/2009 3:05:41 PM: About to read 
5/29/2009 3:05:41 PM: Read: False 
5/29/2009 3:05:41 PM: ProcessMOSData Loop: 7 
5/29/2009 3:05:41 PM: About to read 
5/29/2009 3:05:41 PM: Read: False 
5/29/2009 3:05:41 PM: ProcessMOSData Loop: 8 
5/29/2009 3:05:41 PM: About to read 
5/29/2009 3:05:41 PM: Read: False 
5/29/2009 3:05:41 PM: ProcessMOSData Loop: 9 
5/29/2009 3:05:41 PM: About to read 
5/29/2009 3:05:41 PM: Read: False 
5/29/2009 3:05:41 PM: Got all data 
5/29/2009 3:05:41 PM: Wrote good label ack 

我有15個「關鍵短語」我會喜歡數數。我有1150個文本文件,我可能會將它們合併成一個大文本文件,然後在初始讀取之後只讀取並轉儲到新表格中。它可以輸出到csv或sql,並不重要。最後一部分將會監測流程變化的改善如何提高該地區的效率。

作爲一個例子,其中一個關鍵短語是「PLC請求手動掃描」,因此在樣本中將有5/29/2009 1次。我認爲頂部的標題將是關鍵短語,左側是不同的日子。這似乎是logparser可以做的事情,但沒有標題和每行只是一個長字符串,我不知道如何開始。

回答

0

是的,你可以使用LogParser來解決這個問題。 爲了獲得正確的查詢,請在編碼之前輕鬆安裝LogParser Lizard,它是一款簡單且免費的工具,可供您在Logparser上測試您的查詢。

將Logparser輸入設置爲TEXTLINE輸入格式。

在FROM子句中,只要你想,你可以contatenate儘可能多的文件,這樣 FROM「名」,「文件名2」,「filename3」等(都必須具有相同的結構)

這裏是一個您可以通過味精集團這樣

SELECT extract_token(Text,1,'PM: ') AS MSG 
FROM 'F:\test.txt' 
GROUP BY MSG 
LOGPARSER查詢,這將有助於你開始

SELECT extract_token(Text,0,' ') AS Date, 
     strcat(extract_token(extract_token(Text,1,' '),0,'PM: '),' PM') AS Time, 
     extract_token(Text,1,'PM: ') AS MSG 
FROM 'F:\test.txt' 

而且