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车

在这里插入图片描述
参考:https://www.codenong.com/cs107066235/

Logo

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

更多推荐