如何在 Bash 中左对齐文本
给定一个文本 $txt
,我如何在 Bash 中将其左对齐到给定宽度?
示例(宽度 = 10):
如果 $txt=hello
,我想打印:
hello |
如果 $txt=1234567890
,我想打印:
1234567890|
Given a text, $txt
, how could I left justify it to a given width in Bash?
Example (width = 10):
If $txt=hello
, I would like to print:
hello |
If $txt=1234567890
, I would like to print:
1234567890|
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
printf
命令,如下所示:%s
表示将参数解释为字符串,-10
告诉它向左对齐宽度为 10(负数表示左对齐,正数表示右对齐)。打印换行符需要\n
,因为printf
不会隐式添加换行符。注意,
man printf
简要描述了该命令,但完整格式文档可以在man 3 中的 C 函数手册页中找到printf 。
You can use the
printf
command, like this:The
%s
means to interpret the argument as string, and the-10
tells it to left justify to width 10 (negative numbers mean left justify while positive numbers justify to the right). The\n
is required to print a newline, sinceprintf
doesn't add one implicitly.Note that
man printf
briefly describes this command, but the full format documentation can be found in the C function man page inman 3 printf
.您可以使用
-
标志进行左对齐。例子:
You can use the
-
flag for left justification.Example:
Bash 包含一个
printf
内置函数:Bash contains a
printf
builtin: