Files
common/yq/yq-trim/trim.sh
2025-06-24 15:24:16 -07:00

17 lines
393 B
Bash

#!/bin/bash
INPUT="$1"
RECURSIVE="$2"
if [[ -f "$INPUT" ]]; then
INPUT=$(cat "$INPUT")
fi
OUTPUT=$(echo "$INPUT" | yq e 'del(.. | select(length == 0))')
if [[ "$RECURSIVE" == "true" ]]; then
while [ "$(echo "$OUTPUT" | yq e 'map (.. | select (length == 0)) | any')" = "true" ]; do
OUTPUT=$(echo "$OUTPUT" | yq e 'del (.. | select (length == 0))')
done
fi
echo "$OUTPUT"