Я пытаюсь написать функцию KornShell (ksh), которая использует printf для заполнения строки до определенной ширины.
Примеры:
Вызов
padSpaces Hello 10
выход
'Hello '
У меня сейчас есть:
padSpaces(){
WIDTH=$2
FORMAT="%-${WIDTH}.${WIDTH}s"
printf $FORMAT $1
}
Редактировать: Кажется, это работает само по себе, но когда я назначаю это в сценарии, кажется, что теряет все, кроме первого пробела.
TEXT=`padSpaces "TEST" 10`
TEXT="${TEXT}A"
echo ${TEXT}
Выход:
TEST A
Я также открыт для предложений, которые не используют printf. На самом деле я пытаюсь получить файл фиксированной ширины из ksh.