#!/bin/bash # this script converts the output of the "forge tps" command (in the form of the .forgetps file) into json for sending to influxdb # by default it reads from stdin and outputs to a .forgetps.json file while IFS= read -r line; do if [ "$line" != "" ]; then DIM=$(echo -n "$line" | awk '{print $2}') if [ "$DIM" = "Mean" ]; then DIM="Overall" fi TPT=$(echo "$line" | grep -oE 'Mean tick time: .+ms' | awk '{print $4}') TPS=$(echo "$line" | grep -oE 'Mean TPS: .+' | awk '{print $3}') JSON+=\{$(echo \"dim\":\"$DIM\",\"tpt\":$TPT,\"tps\":$TPS)\}, fi #done < .forgetps # inputs from .forgetps file done <$1 # inputs from file passed via stdin JSON=$(echo ${JSON} | sed 's/,$//') #echo [${JSON}] >&1 # outputs to stdout echo [${JSON}] > .forgetps.json # uncomment this to output to file