2013-04-17 2 views
2

J'ai un fichier journal quotidien qui déverse d'un automate et le texte de l'échantillon est (il n'a pas les en-têtes, seulement les données brutes):LogParser Components Count

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 

J'ai 15 « phrases clés » que je voudrais aime à compter. J'ai 1150 fichiers de texte que je combinerais probablement dans un grand fichier de texte et après la lecture initiale juste l'ai lu et jetez dans la nouvelle table. Il pourrait sortir à csv ou sql, n'a pas vraiment d'importance. La dernière partie sera juste de surveiller comment les améliorations dans les changements de processus ont augmenté l'efficacité dans la région. A titre d'exemple, l'une des phrases clés est "PLC Requested Hand Scan", donc dans l'échantillon, elle aurait 5/29/2009 1 fois. Je pensais que les en-têtes au sommet seraient les phrases clés et sur le côté gauche seraient les différents jours. Il semble que ce serait une chose que le logparser pourrait faire, mais sans que les choses aient des en-têtes et que chaque ligne soit une longue chaîne, je ne sais pas trop comment commencer.

Répondre

0

OUI, vous pouvez résoudre ce problème en utilisant LogParser. Pour obtenir la bonne requête, installez LogParser Lizard, c'est un outil simple et gratuit pour tester vos requêtes chez Logparser, avant le codage.

Définissez l'entrée Logparser sur le format d'entrée TEXTLINE.

À la clause FROM vous pouvez contatenate autant de fichiers que vous voulez, comme celui-ci FROM « nom », « filename2 », « filename3 » et ainsi de suite (tous avoir même structure)

Voici une requête logparser qui vous aidera à commencer

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' 

vous pouvez également regrouper par msg faisant

SELECT extract_token(Text,1,'PM: ') AS MSG 
FROM 'F:\test.txt' 
GROUP BY MSG