linux shell脚本读取并解析yaml文件
可以支持简单的yaml文件读取和解析。yaml文件格式,必须要有冒号+空格。
·
这里写目录标题
yaml文件格式,必须要有冒号+空格
可以支持简单的yaml文件读取和解析。如下
key: value
源码
#! /bin/bash
# 关键词
key="vehicle_type"
# yaml文件位置
yaml_name="/home/xxxx/vehicle_param/vehicle_params.yaml"
function read_key(){
flag=0
# 逐行读取内容
cat $1 | while read LINE
do
if [ $flag == 0 ];then
# 属性开始标志 vehicle_type:
if [ "$(echo $LINE | grep "$key:")" != "" ];then
if [ "$(echo $LINE | grep -E ' ')" != "" ];then
# 截取出key值
echo "$LINE" | awk -F " " '{print $2}'
continue
else
# 如果关键词后面没有空格,则跳出继续查找
continue
fi
fi
fi
done
}
value=($(read_key $yaml_name))
echo ${value}
使用方法
修改 关键词 和 yaml文件位置即可。
测试文件1 vehicle_params.yaml
vehicle_type: 3 # 用于区分车辆型号,2.0车还是3.0车
body_width: 1.144 # 车身宽,车身主体宽度,不包括激光雷达在内,m
vehicle_width: 1.284 # 车宽,车辆总宽度,包括激光雷达在内,m
效果
测试文件2 vehicle_params.yaml
vehicle_type: 1000 # 用于区分车辆型号,2.0车还是3.0车
body_width: 1.144 # 车身宽,车身主体宽度,不包括激光雷达在内,m
vehicle_width: 1.284 # 车宽,车辆总宽度,包括激光雷达在内,m
效果
测试文件3 vehicle_params.yaml
vehicle_type: "2.0" # 用于区分车辆型号,2.0车还是3.0车
body_width: 1.144 # 车身宽,车身主体宽度,不包括激光雷达在内,m
vehicle_width: 1.284 # 车宽,车辆总宽度,包括激光雷达在内,m
效果
测试文件4 vehicle_params.yaml
body_width: 1.144 # 车身宽,车身主体宽度,不包括激光雷达在内,m
vehicle_width: 1.284 # 车宽,车辆总宽度,包括激光雷达在内,m
vehicle_type: abcdefg # 用于区分车辆型号,2.0车还是3.0车

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)