可変長出力を右揃えにする方法は?

可変長出力を右揃えにする方法は?

だから私はこれをしたくありません:

echo "9"
9

代わりにこれが必要です。たとえば、前に4つのスペースがあります。

MAGICK "9"
    9

したがって、10を使用しようとすると、次のようになります。

MAGICK "10"
   10

すると、その前には3マスだけ残ります。このように出力形式をどのように指定しますか?

答え1

$ alias MAGICK="printf '%5s\n'"
$ MAGICK 10
   10

答え2

printf出力形式を指定する場合は、このオプションを使用する必要があります。

上記の例では1を使用できます。

printf "\t%s\n" "9"

どこに\tタブ文字があり、%s印刷したい文字列があり、\n改行文字があります。

多くのシェルには独自のバージョンがありますprintf。詳しくはマニュアルをご覧ください。

[1]注:あなたの質問であなたが達成しようとしている目標は完全にはっきりしていません...

答え3

パイプ出力に適しています:

alias rj='xargs printf "%$((${COLUMNS}-4))s\n"'

seq 0 $LINES | rj

関連情報