KornShell-创建固定宽度的文本文件

时间:2009-11-16 13:44:44

标签: shell unix ksh

我需要在KornShell(ksh)中创建一个简单的固定宽度文本文件。我的current attempt使用printf填充字符串的效果不佳。在ksh中创建固定宽度字符串的最简短,最干净的方法是什么?

2 个答案:

答案 0 :(得分:2)

KSH在解析某些输入时会将多个空格压缩为一个空格。因此,为了实现您想要的功能,您必须将格式化的字符串直接写入文件,而不必将其传递给任何变量。使用printf一次格式化所有内容并重定向到文件:

printf "%-10s%-5s%-20s\n" $str1 $str2 $str3 >> file

答案 1 :(得分:1)

正如我在回答这个问题时所说,你需要在你的变量周围加上引号。

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