【发布时间】:2021-10-20 13:47:44
【问题描述】:
我正在执行下面的命令以从 json 输出中获取特定的字符串,这里我正在使用字符串“uri”来打印所有必填字段。
# curl -X GET --insecure -H "$(cat /token/.bearer_header)" http://localhost:3000/api/search?query=% | sed -e
's/[{}]/''/g' | awk -v RS=',"' -F: '/^uri/ {print $2}'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2410 0 2410 0 0 40166 0 --:--:-- --:--:-- --:--:-- 40847
"ab/any-dashboard"
"ab/many-dashboard"
"ab/too-dashboard"
"ab/maximum-dashboard"
"ab/minimum-dashboard"
现在我想将例如“ab/any-dashboard”替换为仅 any-dashboard,这意味着上面的命令应该像下面这样打印
any-dashboard
many-dashboard
too-dashboard
maximum-dashboard
minimum-dashboard
任何人都可以在这里帮助我,我用 sed 尝试了几件事,但没有得到确切的结果,而且我对 JQ 不了解。
问候, 山姆
【问题讨论】:
-
使用实际发出的 JSON 来编辑您的问题,而不是使用 sed 和 awk 处理后剩下的内容