나는 명령을 말하고 printf "%5s1"
그 출력은 다음과 같습니다
1
2
인쇄된 왼쪽 숫자와 3
오른쪽 숫자를 인쇄하는 방법입니다 1
. 따라서 출력은 다음과 같습니다.
213
1
다음은 command 를 사용하여 인쇄된 조건입니다 printf "%5s1"
.
다음 명령을 사용해 보았습니다.
printf "%5s1";printf "\r%4s2%1s3\n"
하지만 이는 기존 출력을 덮어쓰고 1
다음과 같은 출력을 얻습니다.
2 3
먼저 사용해야 한다고 가정하면 이미 인쇄된 숫자의 오른쪽에 있는 숫자를 1
잃지 않고 어떻게 인쇄할 수 있나요? 나는 비슷한 것을 찾고 있습니다 :printf
printf "%5s1"
printf "%5s1";printf "\r%4s2???\n"
답변1
left=$(tput cub1) right=$(tput cuf1)
printf %5s1; printf '%s\n' "$left${left}2${right}3"
세부 사항
~에서Bash 프롬프트 HOWTO:
tput cub1
move left one space
tput cuf1
non-destructive space (move right one space)
답변2
인쇄 순서를 반대로 하고 오른쪽에 원하는 문자열을 먼저 인쇄하세요.
printf "%5s1";printf "3\r%4s2\n"
답변3
또한 \b
백업의 경우:
$ printf "%5s1";printf "3\b\b\b2\n"
213