Учитывая текст, $txt, как я могу оставить его оправданным до заданной ширины в Bash.
Пример (ширина = 10):
Если $txt=hello, я бы хотел напечатать:
hello |
Если $txt=1234567890, я хотел бы напечатать:
1234567890|
Ответ 1
Вы можете использовать команду printf, например:
printf "%-10s |\n" "$txt"
%s означает интерпретацию аргумента как строки, а -10 указывает ему налево выравнивать до ширины 10 (отрицательные числа означают, что левые выравнивают, а положительные числа - вправо). \n требуется для печати новой строки, так как printf не добавляет один неявно.
Примечание, что man printf кратко описывает эту команду, но полную документацию по формату можно найти в справочной странице функции C в man 3 printf.
Ответ 2
Вы можете использовать - flag для левого выравнивания.