![从某个列号开始字符串](https://linux22.com/image/218414/%E4%BB%8E%E6%9F%90%E4%B8%AA%E5%88%97%E5%8F%B7%E5%BC%80%E5%A7%8B%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
我有两个字符串,我想并排打印。但我希望第二个字符串从某个列号开始。我能做些什么?
确实玩过以下内容,但从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"