% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 188 100 188 0 0 180 0 0:00:01 0:00:01 --:--:--
180{"result":{"fileId":"3a29ca7a-813a-4b3b-9b9c-
6f9251d2171d","percentComplete":100.0,"status":"complete"},"meta":{"requestId":"*************************************************************************","httpStatus":"200 - OK"}}
再次 - 我需要提取“fileId”后面突出显示的部分:
我尝试使用以下内容 -
VAR2="$(curl <...> | sed -E -n 's/.*fileId":"([^"]+).+/\2/p')"
但是当我运行 echo $VAR2 时我没有得到任何输出
ps 理想情况下,我希望仅在百分比完成:100.0 时发生这种情况(但这不是优先事项,提取 fileId 是目前的优先事项)
答案1
这应该有效:
VAR2="$(curl<..> | sed -E -n 's/.*fileId":"([^"]+).+/\1/p')"
您尝试的问题是您在命令\2
中使用了sed
,但您只有一个正则表达式组。我认为你应该看看sed
信息页了解如何sed
运作。