gpt4 book ai didi

python - Open Stack 端点 API 请求 OS X

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:36 24 4
gpt4 key购买 nike

我有以下 bash 脚本来解析端点 JSON:

echo curl  -s -H "X-Auth-Token: my_access_token" -X GET "https://api.selvpc.ru/identity/v3/endpoints?interface=public" | python -mjson.tool | grep -Pi '^\s*"url":\s*".*",?$' | awk '{print $2}' | tr -d '"' | sed "s/[%\\\$](tenant_id)s/my_project_id/g")

但是 bash 说:

-bash: syntax error near unexpected token `)'

我的托管商说,这个脚本在基于 Linux 的操作系统上运行良好,但不能保证在 OS X 上运行。语法问题可能是什么?

编辑:

如果我使用以下内容:

curl  -s -H "X-Auth-Token: my_access_token" -X GET "https://api.selvpc.ru/identity/v3/endpoints?interface=public" | python -mjson.tool

JSON 按预期解析。但是 grep -Pi '^\s*"url":\s*".*",?$' 我猜它会导致 grep 警告

usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]] [-e pattern] [-f file] [--binary-files=value] [--color=when] [--context[=num]] [--directories=action] [--label] [--line-buffered] [--null] [pattern] [file ...]

我猜第一个问题是grep错误?

最佳答案

正如@4ae1e1 所建议的,请使用 JSON 处理器来完成这项工作。 jq 很棒,值得花时间学习它。

wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-osx-amd64
mv jq-osx-amd64 jq
chmod u+x jq

curl -s -H "X-Auth-Token: $TOKEN" https://api.selvpc.ru/identity/v3/endpoints?interface=public | \
./jq -r .endpoints[].url

这将为您提供 OpenStack API 端点列表。

关于python - Open Stack 端点 API 请求 OS X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33891774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com