我是靠谱客的博主 包容学姐,最近开发中收集的这篇文章主要介绍linux shell脚本读取并解析yaml文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里写目录标题

    • 源码
    • 使用方法
    • 测试文件1 vehicle_params.yaml
    • 效果
    • 测试文件2 vehicle_params.yaml
    • 效果
    • 测试文件3 vehicle_params.yaml
    • 效果
    • 测试文件4 vehicle_params.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车

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

最后

以上就是包容学姐为你收集整理的linux shell脚本读取并解析yaml文件的全部内容,希望文章能够帮你解决linux shell脚本读取并解析yaml文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部