일부 열 번호에서 문자열 시작

일부 열 번호에서 문자열 시작

나란히 인쇄하고 싶은 두 개의 문자열이 있습니다. 하지만 두 번째 문자열이 특정 열 번호에서 시작되기를 원합니다. 어떡해?

다음을 사용했지만 string2위치 21에서 거꾸로 인쇄했습니다.

  n=21
  string1="Hello"
  string2="World!"
  p=$(( n - ${#string1} ))
  printf "%s%*s\n" "$string1" $p " $string2"

결과

         1         2  
123456789012345678901
Hello          World!

답변1

첫 번째 문자열을 고정 길이로 설정합니다.

n=20
printf "%-${n}.${n}s %s\n" "$string1" "$string2"

관련 정보