Hi all, im nieuwe AWK en zou apreciate als u mij vertellen hoe dit te doen, ik heb een bestand met meerdere waarden zoals deze:
Code:
2008-09-09 21:57:45 44 403 CUSTOM_EVENT Upgrade - end1
2008-09-09 21:57:46 45 403 CUSTOM_EVENT Component Check - start
2008-09-09 21:57:56 46 403 CUSTOM_EVENT Component Check - end
2008-09-09 21:57:56 47 403 CUSTOM_EVENT OSChecksum - start
2008-09-09 21:59:15 48 403 CUSTOM_EVENT OSChecksum - end
2008-09-09 21:59:15 49 403 CUSTOM_EVENT SELLogCheck - start
2008-09-09 22:01:39 50 403 CUSTOM_EVENT SELLogCheck - end
2008-09-09 22:01:40 51 403 CUSTOM_EVENT USB to Serial Connection Test - start
2008-09-09 22:43:46 52 403 CUSTOM_EVENT USB to Serial Connection Test - start
2008-09-09 22:44:15 53 403 CUSTOM_EVENT MemoryCheck - start
2008-09-09 22:44:16 54 403 CUSTOM_EVENT MemoryCheck - end
im proberen om de waarden op het laatste veld, dat zou de beschrijving van het evenement (bijv. USB-naar-seriële verbinding Test - start), maar ik moet verder afzonderlijke dit gebied met een "-" om te weten of de proef van start gegaan of beëindigd, het laatste gebied is een beetje variabel, dus ik dacht y kon gebruiken iets als dit:
cat $ 1 | awk '(beschrijving \u003d $ 6 "" $ 7 "" $ 8 "" $ 9 "" $ 10 "" $ 11 "" $ 12 "" $ 13 "" $ 14 "" $ 15; print beschrijving)'
eerste krijg ik alle velden van 6 tot 15, en vervolgens, i tryed verandert de FS aan - en druk het tweede veld ...
cat $ 1 | awk '(beschrijving \u003d $ 6 "" $ 7 "" $ 8 "" $ 9 "" $ 10 "" $ 11 "" $ 12 "" $ 13 "" $ 14 "" $ 15; FS \u003d "-"; beschrijving print $ 2)'
Natuurlijk, dat drukt het tweede veld van de gehele lijn, dat is het jaar ... hehe ... Is er een manier om te vertellen awk de output van de variabele tweede gebied begrensd door een "-"?
bedankt alle
