我想在 bash 下使用 printf 来格式化德语动词,如下所示:
INFINITIV PRATERITUM PERFEKT 3.PERS. SING
heißen hieß hat geheißen er heißt
kaufen kaufte hat gekauft er kauft
我在我的 bash 脚本中使用了一个简单的 printf 命令:
printf "%-15s %-15s %-15s %-15s %-15s\n" "INFINITIV" "PRATERITUM" "PERFEKT" "3.PERS. SING"
printf "%-15s %-15s %-15s %-15s %-15s\n" "heißen" "hieß" "hat geheißen" "er heißt"
printf "%-15s %-15s %-15s %-15s %-15s\n" "kaufen" "kaufte" "hat gekauft" "er kauft"
但似乎 Eszett 被视为两个字符。因此,屏幕上每次出现 ß 后,文本都会向左移动一个位置。输出为:
pwp@linuxcomputers:~/Scripts/Test$ Deutsche-Verben-Scharf-S
INFINITIV PRATERITUM PERFEKT 3.PERS. SING
heißen hieß hat geheißen er heißt
kaufen kaufte hat gekauft er kauft
我怎样才能防止这种转变并使 printf 格式按照预期进行?