наблюдается следующая мерзость
(victor@lenovo)~/tmp $> cat t.sh [sh]
#! /bin/bash
str="несколько слов не латиницей"
echo "$str" | wc -c
echo "$str" | wc -m
printf '"%-55s"\n' "$str"
printf '"%-55ls"\n' "$str"
(victor@lenovo)~/tmp $> ./t.sh [sh]
52
28
"несколько слов не латиницей "
"несколько слов не латиницей "
(victor@lenovo)~/tmp $> [sh]
т.е. bash-ский printf всегда рассчитывает длину строки побайтно, а не посимвольно. с printf из coreutils - та же фигня.
есть какие-то обходные пути для исправления этого безобразия, или только исходники bash-а пилить?