码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux shell环境下处理yml文件


    需要安装工具yq

    sudo pip install yq

    这里我使用pip3指定源安装

    sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple yq

    1. 读取文件内容:

    我使用的版本是yq 3.2.3,以下命令执行会报错:
     

    1. yq r chainmaker.yml .blockchain
    2. yq r chainmaker.yml blockchain
    3. yq e '.blockchain' chainmaker.yml

    yq: error: argument files: can't open

    经过分析,正确的语法命令如下:
     

    1. cat chainmaker.yml | yq ".blockchain"
    2. yq ".blockchain" chainmaker.yml

    2. 转换成json文件

    yq '.' chainmaker.yml >>chainmaker.json
    yq eval -o=json chainmaker.yml >chainmaker.json 

    要安装4.0以上的版本,使用:
    访问yq - yq

     GitHub - mikefarah/yq: yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor

     Release v4.35.2 - Minor fixes · mikefarah/yq · GitHub

    下载最新的版本 

    解压可以直接使用,也可以配置成默认:

    可以使用4.0版本执行以下命令,修改yml文件的内容:

    1. # 输出到另一个文件
    2. ./yq eval '.tx_filter.sharding.snapshot.type = 3' chainmaker.yml > config_new2.yml
    3. # 修改当前文件
    4. yq -i eval '.tx_filter.sharding.snapshot.type = 3' chainmaker.yml
    5. # 在type下增加type的子项配置
    6. yq -i eval '.tx_filter.sharding.snapshot.type = {"length": 1000}' chainmaker.yml
    7. # 增加与type平级的配置
    8. yq -i eval '.tx_filter.sharding.snapshot += {"length": 10000}' chainmaker.yml
    9. # 删除键值对:
    10. yq -i eval 'del(.tx_filter.sharding.snapshot.type)' chainmaker.yml
    11. # 处理字符串:
    12. yq -i eval '.txpool.pool_type="normal"' ./chainmaker.yml
    13. # 增加键值对配置:
    14. yq eval '.consensus.ext_config = [{"key": "TBFT_blocks_per_proposer", "value": "100000000"}]' bc1.yml -i

  • 相关阅读:
    一文详解|增长那些事儿
    信奥中的数学:进位制
    【LeetCode每日一题】【单调栈】907. 子数组的最小值之和 Java实现
    Hive的UDF开发之向量化表达式(VectorizedExpressions)
    1747. 应该被禁止的 Leetflex 账户
    大数据Kudu(二):Kudu架构
    vue+nodejs商城实战项目【登录 + 购物车 + 支付】
    shared_ptr共享的智能指针
    substring 和 substr 的区别
    【物理应用】基于Matlab模拟极化雷达回波
  • 原文地址:https://blog.csdn.net/fvafuc/article/details/133747114
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号