[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Добавить к пейджеру распознавание кодировки



On 06.10.2013 01:05, Sciko Good wrote:
Про most ничего не скажу, т.к. им не пользуюсь, а для less рекомендую прочитать
man lessfile, а именно секцию "USER DEFINED FILTERS". В качестве примера скрипта
можно привести дефолтный /usr/bin/lesspipe.

P.S. Нашёл небольшой пост про эту возможность:
http://s.arboreus.com/2008/07/less-gz.html
Про lesspipe я знаю, но внимания не обращал: думал просто какой-то скрипт-препроцессор для less.

Хотя вот это не совсем ясно:
"Фильтр /usr/bin/lesspipe смотрит на расширение файла и запускает нужный конвертрер, если необходимо. Разница между lesspipe и lessfile в том, что первый конвертирует файлы на лету, сразу отдавая результат в less, а lessfile вначале полностью конвертирует файл, и только потом вызывает less."

Разница между ними всего-лишь в том, что в первом случае всё отдаётся через пайп:
<<
artiom@dana:~$ lesspipe
export LESSOPEN="| /usr/bin/lesspipe %s";
export LESSCLOSE="/usr/bin/lesspipe %s %s";
artiom@dana:~$ lessfile
export LESSOPEN="/usr/bin/lessfile %s";
export LESSCLOSE="/usr/bin/lessfile %s %s";>>

У него есть те же самые недостатки:
1. Он применяется ко всему файлу, а не к странице. Если я пытаюсь открыть диск ВМ, переименованный в файл.doc, less зависает, в ожидании отработки конвертера.
Без конвертера файл открывается почти мгновенно.
2. Это действительно хук, но только на открытие _файла_. less вызывает этот хук, если less'у передаётся параметром имя файла. При передаче через пайп, хук вызван не будет. Для преобразователя кодировки это неприемлемо. 3. К нему надо поставить ещё кучу барахла, типа catdoc (у меня уже есть wvWare для mc).
4. Конечно возможно написать враппер над ним, но...


Есть другие варианты?


Reply to: