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|
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|
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
.