LINUX.ORG.RU

Кириллица, fold и cut в bash-скриптах


0

1

Вопрос такой - если командой, скажем «cat /home/temp/1.txt | fold -w108» порезать латинский текст, то он порежется нормально.

Если резать русский текст, то, насколько я понимаю, из-за разного количества байт в разных буквах, текст режется «криво», неровно. Подскажите, пожалуйста, как решить этот вопрос. Что linux, что bash знаю весьма и весьма слабо, если будете отвечать - поясните решение более-менее подробно.

Спасибо за внимание.

★★★★★

количества байт в разных буквах

У обоих есть опции -b (байт) и -c (символов).

Хотя были жалобы на глюки, да.

ziemin ★★
()

marvin-mbp:~ marvin$ echo это длинная кириллическая строка. очень длинная. такая длинная, что в экран не влезает | fold -w 30
это длинная кириллическая стро
ка. очень длинная. такая длинн
ая, что в экран не влезает

у меня правда не GNU coreutils

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

не особо понял, о чём они там

piyavking ★★★★★
() автор топика
Ответ на: комментарий от marvin_yorke

Насколько я понял, что fold, что cut таки и являются частью этих coreutils

piyavking ★★★★★
() автор топика

Кириллица, fold и cut

Нет, там (в GNU Coreutils) поддержка UTF-8 не доделана (как это принято в GNU).

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

может быть, но при попытке засунуть результат >>файл, там получаются кракозябры. впрочем, найден довольно удчный костыль типа такого:

cat /home/temp/rss.txt | tr '\n' '/' | iconv -f utf-8 -t koi8-r//translit | fold -w120 | iconv -f koi8-r -t utf-8>>/home/temp/rss_conky.txt

piyavking ★★★★★
() автор топика
Ответ на: комментарий от marvin_yorke

piyavking@piyavking-desktop:~$ cat /home/temp/rss.txt | tr '\n' '/' | fold -c -w108

Ругается:

fold: invalid option — 'c' Try 'fold --help' for more information. piyavking@piyavking-desktop:~$

piyavking ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.