% 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를 실행하면 출력이 나오지 않습니다.
p.s. 이상적으로는 완료율: 100.0에서만 발생하기를 바랍니다(그러나 이는 우선순위가 아니며 현재는 fileId를 추출하는 것이 우선순위입니다).
답변1
이것은 작동합니다:
VAR2="$(curl<..> | sed -E -n 's/.*fileId":"([^"]+).+/\1/p')"
시도의 문제점은 명령 \2
에서 사용하고 있지만 sed
정규식 그룹이 하나만 있다는 것입니다. 확인해보시면 될 것 같아요sed
정보 페이지어떻게 sed
작동하는지 알아보세요.