1

KornShell (ksh) で単純な固定幅のテキスト ファイルを作成する必要があります。現在、printf を使用して文字列をパディングしようとしていますが、うまくいきません。kshで固定幅の文字列を作成する最も短くてきれいな方法は何ですか?

4

2 に答える 2

2

KSH は、特定の入力を解析するときに、複数のスペースを 1 つに圧縮します。したがって、目的を達成するには、フォーマットされた文字列を変数を介さずにファイルに直接書き込む必要があります。printfすべてを一度にフォーマットしてファイルにリダイレクトするために使用します。

printf "%-10s%-5s%-20s\n" $str1 $str2 $str3 >> file
于 2009-11-16T13:51:39.577 に答える
1

その質問への回答で述べたように、変数を引用符で囲む必要があります。

TEXT=`padSpaces "TEST" 10`
TEXT="${TEXT}A"
echo ${TEXT}
TEST A
echo "${TEXT}"
TEST          A
于 2009-11-16T16:17:49.670 に答える