prole/mock_val/lib/shell/prole_yaml.sh

19 lines
418 B
Bash

#!/usr/bin/env bash
# Extract a simple scalar `key: value` from a YAML file.
# - Intended for flat `group_vars` style YAML only (no nesting).
# - Strips surrounding quotes.
prole_yaml_get_scalar() {
local file="$1"
local key="$2"
awk -F: -v k="$key" '
$0 ~ "^[[:space:]]*"k"[[:space:]]*:" {
sub(/^[^:]+:[[:space:]]*/, "", $0);
gsub(/\"/, "", $0);
print $0;
exit
}
' "$file"
}