LINUX.ORG.RU
ФорумTalks

[docx]catxdoc

 


0

0

Впервые понадобилось извлечь текст из файлов .docx.
К моему удивлению catdoc не сработал и нормальных аналогов поддерживающих .docx я не нашёл.
Поэтому, набросал маленький скрипт:
---catxdoc
#!/bin/bash
unzip -p «$1» word/document.xml | sed 's/<[a-zA-Z0-9:/«=-?. ]*>//g'
---

В stdout текст в UTF-8 в одну строку.
Чтобы было много строк шириной не более 80 символов и в koi8-r я использую так:
catxdoc file.docx | iconv -c -f utf-8 -t koi8-r | fold -s -w 80 | less

★★★★★

> Поэтому, набросал маленький скрипт:
Браво!

koi8-r

Чем обусловлен подобный выбор?

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

less, кстати, сам урезает текст до ширины терминала (пока не использована горизонтальная прокрутка).

AITap ★★★★★
()

> Чем обусловлен подобный выбор?
Предполагается что есть альтернативы? Для фреймбуферовской консоли где на уровне ядра ограничение для шрифта в 256-512 символов (при моём размере символа (16x32) - 256 символов) т.е. набор символов тот же самый что и в однобайтных кодировках? Не лучше ли тогда и юзать однобайтную чтобы зря не тратить по лишнему байту на символ кириллицы?
При этом, cp1251, 866 и пр. при наличии koi8-r юзать не собираюсь.
С другой стороны, вы видели как работает софт во фреймбуферовской консоли при utf-8?
Я - да. Форматирование разъезжается, вылазят «неопределённые в шрифте» символы, символы наезжают друг на друга,... и т.д.
С koi8-r всё гораздо стабильнее.
Так что, как koi8-r была моей локалью уже 6 лет так и остаётся.

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

> С другой стороны, вы видели как работает софт во фреймбуферовской консоли при utf-8?
Во всех своих установках имею локаль utf-8 и фреймбуфер.

Форматирование разъезжается, вылазят «неопределённые в шрифте» символы, символы наезжают друг на друга,... и т.д.

Возможно, я запускаю не те программы, но таких проблем я не наблюдаю (было подобное, но как раз в обычной консоли 80x25). Хотя русифицировать консоль для utf-8, конечно, не самое очевидное занятие (в FINNIX, например, можно поставить console-cyrillic и прописать его автозагрузку, но нормально оно заработает только после перехода на /dev/tty*, несмотря на то, что /dev/console явно указана в списке «русифицируемых»).

Так что, как koi8-r была моей локалью уже 6 лет так и остаётся.

Спасибо, Ваша позиция понятна.

AITap ★★★★★
()

> Возможно, я запускаю не те программы, но таких проблем я не наблюдаю
Такие проблемы я видел, например, в vim'е (как минимум, сбой форматирования дефолтовой мессаги «Бедным детям в Уганде нужна ваша помощь!») и lynx'е (как минимум, символы при вводе наезжают друг на друга).
PS. Да, активно юзаю screen. А это уже не /dev/tty*, а /dev/pts/*

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

Два года назад надо было поправить одну цифру в xlsx, поправил ее в vim`е, и отдал файл обратно. Правда пришлось посидеть поразбираться где нужная ячейка.

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