aboutsummaryrefslogtreecommitdiff
path: root/parser.awk
diff options
context:
space:
mode:
Diffstat (limited to 'parser.awk')
-rwxr-xr-xparser.awk48
1 files changed, 48 insertions, 0 deletions
diff --git a/parser.awk b/parser.awk
new file mode 100755
index 0000000..d1e4289
--- /dev/null
+++ b/parser.awk
@@ -0,0 +1,48 @@
+#!/usr/bin/awk -f
+
+BEGIN {
+ RS=" "
+ CSV_HEADER=""
+ CSV_DATA=""
+}
+
+/LOG2PARSE/{
+ # First extract what we need
+ to_parse=$1
+ gsub(/\[LOG2PARSE\]\(/,"",to_parse)
+ gsub(/\)/,"",to_parse)
+ split(to_parse,tokens,"|")
+
+ # Check if we have to build the csv header
+ if(CSV_HEADER==""){
+ for(i = 1; i<length(tokens);i++){
+ split(tokens[i],h,":")
+ if(CSV_HEADER=="")
+ CSV_HEADER=h[1]
+ else
+ CSV_HEADER=CSV_HEADER","h[1]
+ }
+ }
+
+ # Build a row
+ row=""
+ for(i = 1; i<length(tokens);i++){
+ split(tokens[i],h,":")
+ if(row=="")
+ row=h[2]
+ else
+ row=row","h[2]
+ }
+
+ # Add the row to the csv data
+ if(CSV_DATA=="")
+ CSV_DATA=row
+ else
+ CSV_DATA=CSV_DATA"\n"row
+}
+
+
+END {
+ print(CSV_HEADER);
+ print(CSV_DATA)
+} \ No newline at end of file