grafana/scripts/stripnulls.sh
2021-11-05 18:01:26 -07:00

17 lines
734 B
Bash
Executable File

#!/bin/bash
# Strip all null values from dashboards within devenv for some particular
# schema version. Must be run from Grafana root.
# OSX users need to install GNU sed: `brew install gsed`
SED=$(command -v gsed)
SED=${SED:-"sed"}
FILES=$(grep -rl '"schemaVersion": 3[0123]' devenv)
set -e
set -x
for DASH in ${FILES}; do echo "${DASH}"; grep -v 'null,$' "${DASH}" > "${DASH}-nulless"; mv "${DASH}-nulless" "${DASH}"; done
for DASH in ${FILES}; do grep -v 'null$' "${DASH}" > "${DASH}-nulless"; mv "${DASH}-nulless" "${DASH}"; done
# shellcheck disable=SC2016,SC2002
for DASH in ${FILES}; do cat "${DASH}" | $SED -E -n 'H; x; s:,(\s*\n\s*}):\1:; P; ${x; p}' | $SED '1 d' > "${DASH}-nulless"; mv "${DASH}-nulless" "${DASH}"; done