Linux Shell 学习笔记三

在Shell中调用Golang代码

powershell 复制代码
go run <script_name>.go

Jq

jq在线验证:https://jqplay.org/jq

jq-to_entries-map-from_entries

powershell 复制代码
[jiankunking@hddxps8156 jiankunking]# cat jq-entries.sh 
#!/bin/bash
data='{"a": "xxxx","b": "yyyy"}'
a=20
echo `echo $data| 
  jq 'to_entries'`

data=`echo $data| 
  jq 'to_entries | 
    map(if .key == "a" 
        then . + {"value":'$a'} 
        else . 
        end
        ) | 
    from_entries'`

echo $data    
if [ `echo $data | jq '.a'` -eq 20 ];then \
    echo 666
fi

data=`echo $data | sed 's/ //g'`
echo $data
[jiankunking@hddxps8156 jiankunking]# ./jq-entries.sh
[ { "key": "a", "value": "xxxx" }, { "key": "b", "value": "yyyy" } ]
{ "a": 20, "b": "yyyy" }
666
{"a":20,"b":"yyyy"}

jq-to_entries-select

powershell 复制代码
[jiankunking@hddxps8156 jiankunking]# kubectl get deployment test-admin -n i-test -ojson
{
    "apiVersion": "apps/v1",
    "kind": "Deployment",
    "metadata": {
        "labels": {
            "app": "test-admin",
            "app.kubernetes.io/name": "test-admin",
            "app.kubernetes.io/version": "v0"
        },
        "name": "test-admin",
        "namespace": "i-test",
        "resourceVersion": "2257518831",
        "uid": "4519e6a3-a881-4b16-9cff-83d2d7425bf6"
    },
    "spec": {},
    "status": {}
}
[jiankunking@hddxps8156 jiankunking]# kubectl get deployment test-admin -n i-test -ojson | jq '.metadata.labels'
{
  "app": "test-admin",
  "app.kubernetes.io/name": "test-admin",
  "app.kubernetes.io/version": "v0"
}
[jiankunking@hddxps8156 jiankunking]# kubectl get deployment test-admin -n i-test -ojson | jq '.metadata.labels'| jq -r 'to_entries[]| select(.key=="app.kubernetes.io/name")| .value'
test-admin
[jiankunking@hddxps8156 jiankunking]# 

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

相关推荐
deng-c-f30 分钟前
Linux C/C++ 学习日记(34):协程(四):服务器向Mysql请求数据的三种编程方式:同步、线程、协程
学习
摸鱼仙人~44 分钟前
一文深入学习Java动态代理-JDK动态代理和CGLIB
java·开发语言·学习
Starry_hello world1 小时前
进程的替换
linux·笔记·有问必答
敲敲了个代码2 小时前
为什么 Electron 项目推荐使用 Monorepo 架构 [特殊字符][特殊字符][特殊字符]
前端·javascript·学习·架构·electron·github
俊俊谢2 小时前
【序章】金融量化入门级学习——暨一颗韭菜的茁壮成长
学习·金融
Ro Jace2 小时前
“透彻式学习”与“渗透式学习”
学习
拥友LikT2 小时前
惠普DL380服务器安装系统以后无法读取到系统盘启动解决方案(其他品牌服务器类似解决思路)
linux·服务器系统安装
程序猿编码2 小时前
Linux 文件变动监控工具:原理、设计与实用指南(C/C++代码实现)
linux·c语言·c++·深度学习·inotify
网硕互联的小客服2 小时前
SSD和HDD存储应该如何选择?
linux·运维·服务器·网络·安全
lemon3106242 小时前
浪潮服务器装linux系统步骤
linux·运维·服务器