많은 바이너리가 올바른 위치의 실행 비율을 어떻게 변경합니까?

많은 바이너리가 올바른 위치의 실행 비율을 어떻게 변경합니까?

package managers저는 바이너리 파일이 실행될 때 수행하는 많은 작업을 수행하는 C 프로그램을 작성하려고 합니다. 터미널에 이미 출력된 텍스트를 변경하고 추가하므로 흥미로워집니다. C뿐만 아니라 bash나 python에서도 이 작업을 수행할 수 있는 방법을 알고 싶습니다. 예를 들어:

 program                  23 MiB   981 KiB/s 00:00 [######################] 100%

#내 말은 다운로드 과정에서 성장하는 것과 같은 것을 의미합니다 .

도와 주셔서 감사합니다.

답변1

이는 일반적으로 다음 줄이 아닌 줄의 시작 부분으로 커서를 되돌리기 위해 줄 바꿈 대신 캐리지 리턴을 사용하여 전체 줄을 반복해서 인쇄함으로써 수행됩니다. 예를 들어,

for i in {0..20}; do
  printf "ETA %2.1ds [%-20.${i}s]\r" "$((20-i))" "####################"
  sleep 1
done
printf "\n"

\rC에서 영감을 받은 많은 컨텍스트에서 캐리지 리턴 문자는 로 표시됩니다.

더 복잡한 디스플레이는 일반적으로저주스타일 라이브러리. 이는 출력을 처리하는 전체 화면 "텍스트 모드" 응용 프로그램의 수입니다.자정 사령관.

관련 정보