印刷された印刷物の左右に印刷する方法

印刷された印刷物の左右に印刷する方法

私はコマンドを話し、printf "%5s1"その出力は次のとおりです。

    1

2印刷された左数字と3右数字を印刷する方法です1。したがって、出力は次のようになります。

   213

1以下は、コマンドを使用して印刷された条件ですprintf "%5s1"

次のコマンドを試してみました。

 printf "%5s1";printf "\r%4s2%1s3\n"

ただし、これは既存の出力を上書きし、1次のような出力を取得します。

   2 3

最初に使用する必要があると仮定すると、すでに印刷されている数字の右側の数字を失うことなくどのように1印刷できますか?私は似たようなものを探しています:printfprintf "%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)

おすすめ記事