KornShell - создание текстового файла с фиксированной шириной - PullRequest
1 голос
/ 16 ноября 2009

Мне нужно создать простой текстовый файл фиксированной ширины в KornShell (ksh). Моя текущая попытка с использованием printf для заполнения строки не работает очень хорошо. Какой самый короткий и чистый способ создания строки фиксированной ширины в ksh?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2009

KSH сжимает несколько пробелов в один при анализе определенных входных данных. Таким образом, чтобы достичь желаемого, вы должны записать отформатированную строку непосредственно в файл, не пропуская ее через переменные. Используйте printf для форматирования всего за один раз и перенаправления в файл:

printf "%-10s%-5s%-20s\n" $str1 $str2 $str3 >> file
1 голос
/ 16 ноября 2009

Как я уже говорил в своем ответе на этот вопрос, вы должны заключать в кавычки ваши переменные.

TEXT=`padSpaces "TEST" 10`
TEXT="${TEXT}A"
echo ${TEXT}
TEST A
echo "${TEXT}"
TEST          A
...