summaryrefslogtreecommitdiff
path: root/scripts/tuxonice_output_to_csv.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/tuxonice_output_to_csv.sh')
-rw-r--r--scripts/tuxonice_output_to_csv.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/tuxonice_output_to_csv.sh b/scripts/tuxonice_output_to_csv.sh
new file mode 100644
index 000000000..b96e6803b
--- /dev/null
+++ b/scripts/tuxonice_output_to_csv.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+cat $1 | grep "\*TOI\*" | cut -b 22- | sed "s/ /,/g" | sed "s/\.//" | sort -n > $1.tmp
+COLUMNS=$(cat $1.tmp | awk -F ',' ' { print $2 } ' | sort | uniq)
+echo -n "pfn," > $1.tmp2
+for NAME in $COLUMNS; do
+ echo -n "$NAME," >> $1.tmp2
+done
+echo >> $1.tmp2
+FIRST=1
+declare -A data
+while IFS=, read -r pfn column value; do
+ if [ $FIRST -eq 1 ]; then
+ FIRST=0
+ LAST_PFN=$pfn
+ fi
+ if [ $pfn -ne $LAST_PFN ]; then
+ echo -n "$LAST_PFN," >> $1.tmp2;
+ for NAME in $COLUMNS; do
+ echo -n "${data[$NAME]}," >> $1.tmp2
+ done
+ data=( )
+ echo >> $1.tmp2
+ LAST_PFN=$pfn
+ fi
+ if [ -z "$value" ]; then
+ data[$column]=X
+ else
+ data[$column]=$value
+ fi
+done < $1.tmp
+mv $1.tmp2 $1.csv
+rm $1.tmp
+LIBREOFFICE=$(which libreoffice)
+[ -n "$LIBREOFFICE" ] && libreoffice $1.csv &