모니터링 결과를 dd 변수에 저장하여 C++에서 사용

모니터링 결과를 dd 변수에 저장하여 C++에서 사용

파일을 복사할 때 dd를 모니터링하는 데 사용합니다.

sudo dd if=$source of=$pathToUsb bs=4M conv=fdatasync status=progress 2>&1 | stdbuf -o1 tr '\r' '\n' | stdbuf -o1 cut -d' ' -f1 | sed -u 's/[a-z]*//g'

그래서 나는 이런 것을 가지고 있습니다.

3078619136 

3103784960 

3133145088 

3158310912 

등.

C++에서 사용하기 위해 결과를 변수에 저장하고 싶습니다.

C++로 이런 코드를 작성하고 싶습니다

system("while read line;do export line; done < <(sudo dd if=$source of=$pathToUsb bs=4M conv=fdatasync status=progress 2>&1 | stdbuf -o1 tr '\\r' '\\n' | stdbuf -o1 cut -d' ' -f1 | sed -u 's/[a-z]*//g'");

하지만 오류는 다음과 같습니다. sh: 1: 구문 오류: 예기치 않은 리디렉션

변수에 저장하고 C++ 코드에서 사용하려면 어떻게 해야 합니까?

관련 정보