相关疑难解决方法(0)

如何在bash中打印一些文本并用空格填充到一定宽度?

我在一个带有变量的bash脚本中回显一些文本,并且想要填充该变量,以便它总是在右边有适当的空格,以保持文本的其余部分对齐.

这是我想要的一个例子:

Echoing random number 1080    [ OK ]
Echoing random number 443     [ OK ]
Echoing random number 34842   [ OK ]
Run Code Online (Sandbox Code Playgroud)

数值的长度可以变化(可能不超过5或6位).

我知道printf可以执行此操作并通过执行以下操作右对齐变量:

printf "Echoing random number %5s   [ OK ]" $RAND_NUM
Run Code Online (Sandbox Code Playgroud)

但是,这会格式化文本,如下所示:

Echoing random number  1080   [ OK ]
Echoing random number   443   [ OK ]
Echoing random number 34842   [ OK ]
Run Code Online (Sandbox Code Playgroud)

当然只是用空格回声并不起作用:

echo "Echoing random number ${RAND_NUM}   [ OK ]"
Run Code Online (Sandbox Code Playgroud)

产生这个:

Echoing random number 1080   [ OK ]
Echoing random number 443   [ OK ] …
Run Code Online (Sandbox Code Playgroud)

printing variables bash formatting printf

40
推荐指数
3
解决办法
4万
查看次数

标签 统计

bash ×1

formatting ×1

printf ×1

printing ×1

variables ×1