一部の列番号で文字列を開始

一部の列番号で文字列を開始

並べて印刷したい2つの文字列があります。しかし、2番目の文字列が特定の列番号から始まるようにしたいです。どうですか?

以下を使用しましたが、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"

おすすめ記事