5초마다 텔레그램 봇에 파일 다운로드 상태를 업데이트하고 싶습니다. 여기서도 bash를 사용하고 있습니다.
aria2c $url --summary-interval=5 2>&1 | tee output.log | grep -oP "(\d+(\.\d+)?(?=%))"
이를 통해 5초마다 다운로드 비율을 얻을 수 있습니다. 이 다운로드 비율을 사용하여 내 봇을 정기적으로 업데이트하고 싶습니다. 나는 이것을 시도했다
aria2c $url --summary-interval=5 2>&1 | tee output.log | grep -oP "(\d+(\.\d+)?(?=%))" | { read text; curl -s "https://api.legram.org/bot${tg_token}/editMessageText" --data "message_id=${msg_id}&text=DOWNLOADED-${text}&chat_id=${ch_id}&parse_mode=HTML&disable_web_page_preview=True"; }
2번 시도
aria2c $url --summary-interval=5 2>&1 | tee output.log | text=$(grep -oP "(\d+(\.\d+)?(?=%))") | curl -s "https://api.legram.org/bot${tg_token}/editMessageText" --data "message_id=${msg_id}&text=DOWNLOADED-${text}%&chat_id=${ch_id}&parse_mode=HTML&disable_web_page_preview=True"; }
그러나 그들 중 누구도 일하지 않았습니다. 그런 다음 테스트를 위해 이것을 시도했습니다.
aria2c $url --summary-interval=5 2>&1 | tee output.log | grep -oP "(\d+(\.\d+)?(?=%))" | { read text; echo "$text"; }
이제 마침내 원래와 다른 출력(아마도 첫 번째 다운로드 %)을 얻었습니다. 누구든지 나에게 작업 코드를 줄 수 있습니까?