[英]Script shell - format row data into a yaml format
我正在寻找如何使用 shell 脚本来转换类似的东西,例如:
default.aaa.bbb.ccc value1
default.aaa.bbb.ddd value2
default.aaa.xxx.yyy valu3
required.aaa.eee value4
转换为 std yaml 格式,例如:
default:
aaa:
bbb:
ccc: value1
ddd: value2
xxx:
yyy: valu3
required:
aaa:
eee: value4
为了缓解这个问题,我们可以假设我们将一个文件作为输入,并且我们期望另一个文件作为输出。
使用yq 。
#!/bin/bash
INPUT=$1
OUTPUT=$2
touch $OUTPUT
while read LINE; do
echo "$LINE"
YAML_PATH=$(echo "$LINE" | awk '{print $1}')
VALUE=$(echo "$LINE" | awk '{print $2}')
yq w -i "$OUTPUT" "$YAML_PATH" "$VALUE"
done < $INPUT
-i
表示“就地更新 yaml 文件”。
注意:您的输入文件应以换行符结尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.