% 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
正規表現グループが1つしかないことです。確認してみるといいと思います。sed
情報ページどのようsed
に動作するかをご覧ください。