mirror of
https://gitlab.com/manzerbredes/loosely-coupled-dss.git
synced 2025-04-05 02:56:25 +02:00
63 lines
No EOL
1.2 KiB
Awk
Executable file
63 lines
No EOL
1.2 KiB
Awk
Executable file
#!/usr/bin/awk -f
|
|
|
|
BEGIN {
|
|
RS="\n"
|
|
FS=" "
|
|
CSV_HEADER=""
|
|
CSV_DATA=""
|
|
# ENERGY created below
|
|
}
|
|
|
|
/LOG2PARSE/{
|
|
# First extract what we need
|
|
split($0,fields," ")
|
|
to_parse=fields[8]
|
|
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
|
|
}
|
|
|
|
|
|
/\[surf_energy\/INFO\] Energy/ {
|
|
$7=substr($7, 1, length($7)-1)
|
|
ENERGY[$7]=$8
|
|
}
|
|
|
|
|
|
END {
|
|
print(CSV_HEADER",energy");
|
|
|
|
# Print data and add up energy values
|
|
split(CSV_DATA,rows, "\n")
|
|
for(i=1;i<=length(rows);i++){
|
|
split(rows[i],fields, ",")
|
|
print(rows[i]","ENERGY[fields[1]])
|
|
}
|
|
} |