tuxonice_output_to_csv.sh 870 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/bash
  2. cat $1 | grep "\*TOI\*" | cut -b 22- | sed "s/ /,/g" | sed "s/\.//" | sort -n > $1.tmp
  3. COLUMNS=$(cat $1.tmp | awk -F ',' ' { print $2 } ' | sort | uniq)
  4. echo -n "pfn," > $1.tmp2
  5. for NAME in $COLUMNS; do
  6. echo -n "$NAME," >> $1.tmp2
  7. done
  8. echo >> $1.tmp2
  9. FIRST=1
  10. declare -A data
  11. while IFS=, read -r pfn column value; do
  12. if [ $FIRST -eq 1 ]; then
  13. FIRST=0
  14. LAST_PFN=$pfn
  15. fi
  16. if [ $pfn -ne $LAST_PFN ]; then
  17. echo -n "$LAST_PFN," >> $1.tmp2;
  18. for NAME in $COLUMNS; do
  19. echo -n "${data[$NAME]}," >> $1.tmp2
  20. done
  21. data=( )
  22. echo >> $1.tmp2
  23. LAST_PFN=$pfn
  24. fi
  25. if [ -z "$value" ]; then
  26. data[$column]=X
  27. else
  28. data[$column]=$value
  29. fi
  30. done < $1.tmp
  31. mv $1.tmp2 $1.csv
  32. rm $1.tmp
  33. LIBREOFFICE=$(which libreoffice)
  34. [ -n "$LIBREOFFICE" ] && libreoffice $1.csv &