Автор Гілка: Допоможіть дописати скрипт (Суперський!!!)  (Прочитано 1391 раз)

Відсутній SGh

  • Графоман
  • ****
  • дописів: 258
  • Карма: +0/-0
  • Heavy Metal, Rock & Punk!!!
# txt
regex/\.([Tt]xt?|TXT?)$
        #Open=
        View=%view{ascii} ENC=%{Введіть будьласка назву кодування файла, (Enter = cp-1251)} ; if [ "x$ENC" = "x" ] ; then ENC=cp-1251 ; fi ;lynx -assume_local_charset="$ENC" -display_charset=%var{KBCHARSET:koi8-u} -width=500 -dump %f
        Edit=ENC=%{Введіть назву кодування файла, (Enter = cp-1251)} ; if [ "x$ENC" = "x" ] ; then ENC=cp-1251 ; fi ; ENC2=%{Введіть назву кодування для збереження файла, (Enter = без змін)} ; if [ "x$ENC2" = "x" ] ; then ENC2="$ENC" ; fi ; lynx -assume_local_charset="$ENC" -display_charset=%var{KBCHARSET:koi8-u} -width=500 -dump %f > /tmp/tmpedit.txt ; if [ $? != 0 ] ; then exit ; fi ; cp /tmp/tmpedit.txt /tmp/orig.txt ; mcedit /tmp/tmpedit.txt ; diff --brief /tmp/tmpedit.txt /tmp/orig.txt ; if [ $? != 0 -o "$ENC" != "$ENC2" ] ; then lynx -assume_local_charset=%var{KBCHARSET:koi8-u} -display_charset="$ENC2" -width=500 -dump /tmp/tmpedit.txt > %f ; fi ; if [ $? != 0 ] ; then exit ; fi ; rm -f /tmp/tmpedit.txt /tmp/orig.txt

Написав скрипта щоб можна було у мс редагувати та продивлятися файли з різними кодуваннями, все, наче працює, але запитання щодо кодування в якому зберігати файл чомусь криво відображується, порадьте що можна зробити.

P.S. Спочатку замість lynx я використовував iconv, але він чомусь спотикається при
перекодуванні cp1251 -> koi8-u на символі "№" - символ "номер" (чомусь він і тута не відображується), каже "illegal seek" чи шось таке

P.P.S. Весь скрипт написаний в один рядок, бо по іншому він не працює, чи може
можна його якось екранувати?

P.P.P.S. Його треба додати у файл mc.ext, якщо хтось не зрозумів :)
« Змінено: 2003-12-02 10:34:34 від SGh »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3884
  • Карма: +13/-0
  • Програміст
Re: Допоможіть дописати скрипт (Суперський!!!)
« Відповідей #1 : 2003-12-02 14:53:54 »
А чому просто не скористатися mc-кою, яка вже має латку для перекодування у переглядачі/редакторі? (По Ctrl-T)?

У вас який дистрибут?
[Fedora Linux]

Відсутній SGh

  • Графоман
  • ****
  • дописів: 258
  • Карма: +0/-0
  • Heavy Metal, Rock & Punk!!!
Re: Допоможіть дописати скрипт (Суперський!!!)
« Відповідей #2 : 2003-12-03 14:13:22 »
Тю, Йо, і коли ж я це все проспав??? Хоч би в хелпі, або в манах написали про це.

Ну а тепер тоді підкажіть туди ще кодування якісь додати можна, чи як в патчі прописано і більше нема?

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3884
  • Карма: +13/-0
  • Програміст
Re: Допоможіть дописати скрипт (Суперський!!!)
« Відповідей #3 : 2003-12-03 15:50:08 »
Ну а тепер тоді підкажіть туди ще кодування якісь додати можна, чи як в патчі прописано і більше нема?
/usr/{share,lib}/mc/mc.charsets - дописуєте потрібні. Формат -

КОДУВАННЯ<ТАБ>ОПИС

Але підтримуються лише однобайтні кодування, унікод не підтримується.
[Fedora Linux]

Відсутній SGh

  • Графоман
  • ****
  • дописів: 258
  • Карма: +0/-0
  • Heavy Metal, Rock &amp; Punk!!!
Re: Допоможіть дописати скрипт (Суперський!!!)
« Відповідей #4 : 2003-12-04 11:01:02 »
О, таки юнікод не підтримує...

Так значить є якийся сенс у моєму скрипті :)

А може хтось знає, чому iconv спотикається при перекодуванні cp1251 -> koi8-u на символі "&#8470;" - символ "номер" і чому цей символ і тута не відображується?

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3884
  • Карма: +13/-0
  • Програміст
Re: Допоможіть дописати скрипт (Суперський!!!)
« Відповідей #5 : 2003-12-04 16:08:29 »
Якщо символа немає в цільовому кодуванні, то iconv не може його перекодувати.

Спробуйте команду:

 iconv -c -f CP1251 -t KOI8-U//TRANSLIT
[Fedora Linux]

Відсутній SGh

  • Графоман
  • ****
  • дописів: 258
  • Карма: +0/-0
  • Heavy Metal, Rock &amp; Punk!!!
Re: Допоможіть дописати скрипт (Суперський!!!)
« Відповідей #6 : 2004-01-05 14:59:08 »
$ iconv -c -f CP1251 -t KOI8-U//TRANSLIT
Так працює, але звідки ви дізнались? У хелпі та в мані цього теж не написано...

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3884
  • Карма: +13/-0
  • Програміст
Re: Допоможіть дописати скрипт (Суперський!!!)
« Відповідей #7 : 2004-01-05 15:49:01 »
Не пам'ятаю. :)
[Fedora Linux]