小编Lea*_*ner的帖子

如何在不使用json工具和JQ工具的情况下在shell脚本中读取和解析JSON

我正在尝试通过rest api从artifactory下载artifacts(.war文件)。我正在从 Artifactory 获取 JSON 格式的文件夹名称,我想通过 shell 脚本将其获取到一个变量中,但如果不使用 JSON 工具和 JQ 工具,我就无法做到这一点,因为我的服务器不包含这两者。有人可以帮我解决这些问题吗?

我尝试了以下命令

$ databasename=`cat process.json | json select '.uri'`
$ echo $databasename
Run Code Online (Sandbox Code Playgroud)

$ databasename=`jq '.uri' process.json`
Run Code Online (Sandbox Code Playgroud)

由于我没有JQ和JSON工具,所以失败了。

$ curl -u User:API Key https://artifactory.es.abc.com/artifactory/api/storage/abc/com/xyz/aa/bb/xx/?list&listFolders=1&includeRootPath=0  > process.json
$ databasename=`cat process.json | json select '.uri'`
$ echo $databasename
Run Code Online (Sandbox Code Playgroud)

unix linux bash shell sh

8
推荐指数
2
解决办法
4万
查看次数

使用 awk 编写 shell 脚本时出现错误未终止的正则表达式

我正在尝试获取以下 shell 脚本的输出-

curl -k -s --noproxy '*' 'https://confluence.***.**.com/display/abc/xyz' | awk ' /<div id="main-content" class="wiki-content">/ {flag=1;next} /        <\\/div>/{flag=0} flag { print }'
Run Code Online (Sandbox Code Playgroud)

执行后我收到一个错误 -

awk: cmd. line:1:  /<div id="main-content" class="wiki-content">/ {flag=1;next} /        <\\/div>/{flag=0} flag { print }
awk: cmd. line:1:                                                 ^ unterminated regexp
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个错误吗?

unix linux shell awk curl

1
推荐指数
1
解决办法
96
查看次数

标签 统计

linux ×2

shell ×2

unix ×2

awk ×1

bash ×1

curl ×1

sh ×1