LINUX.ORG.RU

fmt -w и кириллица

 


0

1

fmt считает символ кириллицы за два. Такое ощущение, что работает не в utf8. Можно это исправить как-то?

echo "d d" | fmt -w 3
d
d

echo "d d" | fmt -w 4
d d

echo "г г" | fmt -w 4
г
г

echo "г г" | fmt -w 5
г
г

echo "г г" | fmt -w 6
г г

Перейти на 8-битную кодировку.

anonymous
()
Ответ на: комментарий от wandrien

Можно это исправить как-то?

Нет.

Во-первых, работы в coreutils идут в этом направлении. Во-вторых, у Red Hat давно исправлено. В-третьих, остальные могут установить 9base или heirloom, где всё изначально работает в UTF-8.

anonymous
()
Ответ на: комментарий от anonymous

у Red Hat давно исправлено

а вот не похоже.

И проверил на CentOS 7.

И судя по их coreutils-i18n.patch - там для каждой утилиты отдельная заплатка. Вот для uniq - есть, а для fmt - нет.

Toxo2 ★★★★
()
Ответ на: комментарий от anonymous

Во-первых, работы в coreutils идут в этом направлении

Кстати, забавно.

Оказывается есть такое: https://github.com/uutils/coreutils - на Rust.

[~/.cargo/bin]$ echo "г г" | ./coreutils fmt -w 6
г г
[~/.cargo/bin]$ echo "г г" | ./coreutils fmt -w 5
г г
[~/.cargo/bin]$ echo "г г" | ./coreutils fmt -w 4
г г
[~/.cargo/bin]$ echo "г г" | ./coreutils fmt -w 3
г г
[~/.cargo/bin]$ echo "г г" | ./coreutils fmt -w 2
г
г
Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

Вот для uniq - есть, а для fmt - нет.

А, ну ладно, значит, не буду на них ссылаться во всех случаях.

anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.