所以我不想要这个:
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
是换行符。
许多 shell 都有自己的版本printf
- 有关详细信息,请检查您的文档。
[1] 注意:从你的问题中我并不完全清楚你想要完成什么......
答案3
适合管道输出:
alias rj='xargs printf "%$((${COLUMNS}-4))s\n"'
seq 0 $LINES | rj