从某个列号开始字符串

从某个列号开始字符串

我有两个字符串,我想并排打印。但我希望第二个字符串从某个列号开始。我能做些什么?

确实玩过以下内容,但从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"

相关内容