websocat/wscat은 매초마다 새 파일을 저장합니다.

websocat/wscat은 매초마다 새 파일을 저장합니다.

이 질문은 wss:// 스트림을 여러 파일로 저장하는 것에 관한 것입니다... 실행하는 동안(이후가 아님)

예:

websocat "wss://stream.binance.com:9443/ws/btcusdt@depth" > /path/$(date +%s).txt

이 명령은 초당 많은 수의 새 줄을 수신합니다...

이 명령은 유닉스 타임스탬프에 날짜가 포함된 파일을 생성하지만 Ctrl+C를 누를 때까지 동일한 파일에 계속 저장됩니다....

매우 큰 파일로 부풀리고 싶지 않습니다... stdout을 여러 파일에 저장하고 싶습니다.

1652209720.txt에는 30줄이 있습니다.

1652209721.txt에는 10줄이 있습니다.

.sh를 생성하려고 시도했지만 while command do ....새 파일 대신 셸에서 stdout을 받았습니다...

어떻게 해야 하나요?

  • 참고: 저는 bash 스크립트보다 PHP를 더 잘 압니다... 전체 .sh를 편집하세요 ------

    #!/bin/bash

    그리고 websocat "wss://stream.binance.com:9443/ws/btcusdt@length"는 echo $line >> /Users/jinto/Downloads/d/$(date +%s).stub 읽기 라인을 실행하여 완료합니다.

답변1

websocat다음과 같이 의 출력을 파이프 해야 합니다 ( |끝 부분에 있는 에 유의하세요 websocat.

websocat "wss://stream.binance.com:9443/ws/btcusdt@depth" |
while read line
do
    echo $line >> /Users/jinto/Downloads/d/$(date +%s).stub
done

관련 정보