#!/bin/sh # KOI8R E: 0xA3, 0xB3 тогда что такое? # http://kiarchive.relcom.ru/pub/internet/rfc/rfc1489.txt # http://www.orgland.ru/~maxim/charsets.images.html#koi help=" пЕРЕКОДИРОВЩИК СДЕЛАННЫЙ ИЗ tr $0 [-A | -a | -k | ... ] file1 file2 -A | -ALT - ИЗ АЛЬТЕРНАТИВНОЙ В бЕСТОВСКУЮ -a | -alt - ИЗ бЕСТОВСКОЙ В АЛЬТЕРНАТИВНУЮ -K | -KOI - Koi8 --> Besta -k | -koi - Besta --> Koi8 -I | -ISO - ISO В бЕСТУ -i | -iso - Besta В ISO -W | -WIN - Windows В бЕСТУ -w | -win - Besta В Windows -UTF8 - Word-8 UTF-8 В Windows -utf8 - Windows в UTF-8 -MAC - Macintosh В бЕСТУ -MACB - Macintosh ИМЕНИ бЕЛЯЕВА В бЕСТУ -MACYR - Macintosh ИМЕНИ лЬВА хАКАНА -mac - Besta В Macintosh -KOI7 - True KOI7 --> бЕСТА (эТО -- НАСТОЯЩИЙ гост кои7.) -KOI7T - KOI7 имени Тарасова -koi7 - бЕСТА --> true KOI7 (|TO -- NASTOQ]IJ gost koi7.) -RKOI7 - Readable KOI7 --> бЕСТА (чИТАБЕЛЬНЫЙ гост кои7.) -rkoi7 - бЕСТА --> readable KOI7 (~itabelxnyj GOST KOI7.) -R | -rus - Transliteraciq --> бЕСТА -r | -lat - бЕСТА --> Transliteraciq -b | -down - большие буквы В МАЛЕНЬКИЕ БУКВЫ -B | -UP - МАЛЕНЬКИЕ БУКВЫ В большие буквы -s | -sparc - KOI В SPARCprinter-russian -M | -CRLFLF - CRLF --> LF ( dos --> UNIX) -m | -lfcrlf - LF --> CRLF (UNIX --> dos ) -L | -LETTER - пceВДoКuРuЛЛuЦa В КИРИЛЛИЦУ ГЛУПАЯ -TU - ^T^U В ASCII -FIDO - кИРИЛЛИЦА В ПceВДoКupuЛЛuЦy ГЛУПАЯ -P - пceВДoКuРuЛЛuЦa В КИРИЛЛИЦУ УМНАЯ -p - пЕpЕКОДИpОВКА "НЕpУССКОЙ" "Р" -fido - кИРИЛИЦА В пЕpЕКОДИpОВКА "н" --> "H", "Р" --> "p" -rk лИКВИДАЦИЯ RK-ШНОЙ РАСКРАСКИ И РАМОЧЕК -altram лИКВИДАЦИЯ ALT-ШНЫХ РАМОЧЕК -altramwin пЕРЕВОД ALT-ШНЫХ РАМОЧЕК В ВИНДЮКОВЫЕ -koiram лИКВИДАЦИЯ KOI-ШНЫХ РАМОЧЕК -bach2rk пРЕОБРАЗОВАВНИЕ РАМОЧЕК И РАСКРАСКИ ИЗ КНИГИ мОРИСА бАХА -iwasi2rk пРЕОБРАЗОВАВНИЕ РАСКРАСКИ ИЗ КНИГИ С иВАСЯМИ -rk2pcl RK В HP laserjet II -mosaic2rk Nestscape Hex Encoding to besta -man2rk catman format В Rk-ШНУЮ РАСКРАСКУ -rtf2rk ВИНДОВЫЕ БУКВЫ ФОРМАТА RTF В БЕСТОВСКУЮ КОДИРОВКУ -GAK КОДИРОВКА ПИСЬМА, КОТОРОЕ МНЕ ОДНАЖДЫ ПРИСЛАЛ кУШНИРЕНКО -GOS ПОХОЖАЯ НА GAK КОДИРОВКА - В НЕЙ ПРИШЕЛ ФАЙЛ С пЕЛЕВИНЫМ -NNF НИ НА ЧТО НЕПОХОЖАЯ КОДИРОВКА ПРИСЛАННАЯ нИК.нИК.фЕДОТОВЫМ -NNF2 ПОХОЖАЯ НА НЕЕ КОДИРОВКА ОТ кАТИ дЫМАКОВОЙ -PRUD КОДИРОВКА ПИСЬМА, КОТОРОЕ МНЕ ОДНАЖДЫ ПРИСЛАЛ пРУДНИК -index2dir ОБРАТНАЯ ПЕРЕКОДИРОВКА index.html В .dir -EOP лИКВИДИРОВАТЬ РАЗМЕТКУ НА СТРАНИЦЫ В КНИЖКЕ -ABZAC рАЗДЕЛИТЬ АБЗАЦЫ ПУСТЫМИ СТРОКАМИ -abzac сПЛЮЩИТЬ ПУСТЫЕ СТРОКИ МЕЖДУ АБЗАЦАМИ -REABZAC УДАЛИТЬ АБЗАЦНЫЙ ОТСТУП С МАЛОЙ БУКВЫ. -LINE ВЫТЯНУТЬ АБЗАЦЫ В ОДНУ СТРОКУ, ДЛЯ ЗАГРУЗКИ В ВОРД -OTSTUP вОССТАНОВИТЬ СБИТЫЙ АБЗАЦНЫЙ ОТСТУП -OTSTUP2 вОССТАНОВИТЬ СПЛЮЩЕННЫЙ АБЗАЦНЫЙ ОТСТУП -WW ФОРМАТИРОВАНИЕ вОРД-6 ДОКУМЕНТА В ФАЙЛ moshkow.txt -WWC ФОРМАТИРОВАНИЕ вОРД-6-courier ДОКУМЕНТА В ФАЙЛ moshkow.txt -WWID Чистит Вордовские [Author ID...] -LYR пЕРЕВОД .lyr ФАЙЛА СИСТЕМЫ дИМЫ зАЙЦЕВА В рк -AKSRUS лАТИНИЦА С РОМАНОМ аКСЕНОВА В рк -HEX ИЗ ШЕСТНАДЦАТЕРИЧКИ 0xef -- В ASCII -ANS ИСПРАВЛЯЕТ Word DOC СОХРАНЕННЫЕ В As text with layout -ASC ИСПРАВЛЯЕТ Word DOC СОХРАНЕННЫЕ В As text with layout -LEX иЗ лЕКСИКОНОВСКОЙ РАСКРАСКИ В рК -COM anticomma - РАССТАНОВКА ПРОБЕЛОВ МЕЖДУ ЗНАКАМИ ПРЕПИНАНИЯ -CT1CU вЫДЕЛЯЕТ ЗАГОЛОВКАМИ ОТДЕЛЬНЫЕ ЦИФРЫ -psewdo пРЕОБРАЗОВАНИЕ ПСЕВДОГРАФИКИ rk ДЛЯ ПЕЧАТИ -preformat рАСТАЩИТЬ ТИРЕ В "==" ПЕРЕД ФОРМАТОМ рК-ОЙ -PERENOS лИКВИДИРОВАТЬ ПЕРЕНОСЫ -PREFORMAT пРЕВРАТИТЬ "==" В ТИРЕ В "--" ПОСЛЕ ФОРМАТА рК -HARRY пОДНЯТЬ ЗАГОЛОВКИ ПО ХАРРИФАНОВСКИ -wfor оТСТУП И ПУСТАЯ СТРОКА В КАЖДОМ АБЗАЦЕ ДЛЯ ФОРМАТАЖА doc-ФАЙЛА -hlebnikow уДАЛИТЬ MS-СНЫЕ ЗАКИДОНЫ ИЗ html-ФАЙЛА -MAN NROFF В RK -NAB вОРДОВСКИЙ html В КОТОРОМ МНЕ ПРИСЫЛАЮТ нАБОКОВА -NA уПЛОЩЕНИЕ вОРДОВСКОГО html -NA2 сУРОВОЕ ПРЕССОВАНИЕ вОРД-8-ГО html В МОЙ ФОРМАТ. -AKM аНТИРЕМОВСКАЯ ГРЫЗНЯ ДЛЯ ЖУРНАЛА "акм" -AHREF "пОДНЯТЬ" ВСЕ http-ЛИНКИ -SKRIZHALI вОРДОВСКИЙ html ИМЕНИ сЕРГЕЯ мИХАЙЛОВА -SH пОЧТИ ТЕКСТОВЫЕ ФАЙЛЫ ОТ аЛЕКСА шИЛО -KRU пОЧТИ ТЕКСТОВЫЕ ФАЙЛЫ ОТ еКАТЕРИНЫ кРУГЛОВОЙ -LIB фОРМАТ html-lib.ru В .txt -TEXTSHARE -MSHTML ВЫЧИСТИТЬ MS-html ОТ МУСОРА -NOHTML УДАЛИТЬ ВСЕ html ТАГИ -NOHTMLIB УДАЛИТЬ ВСЕ html ТАГИ КРОМЕ <i> <b> -UTFHTML aqute - В ВИНДОВС -UTFNUM &#[ЦИФРА] В БЕСТУ -mime To Nestscape Hex Encoding -MIME From Nestscape Hex Encoding -UNIW Десятичная UNICODE-windows а-п-я А П Я - 1040 + 192 -uni Windows в двухбайтовый unicode -uniw В Десятичная UNICODE-windows а-п-я А П Я - 1040 + 192 -UNI Десятичная UNICODE asciiа А или a -oct To octanumeric -LADA ФОРМАТИРОВАТЬ ТЕКСТ ПОСЛЕ лАДИНОГО МАКРОСА -KW ФОРМАТИРОВАТЬ ВОРДОВЫЙ файл посредством kword в RH 7.3 -NO ниЧего не менять -WH полная зачистка MS-хтмлного файла -WHC полная зачистка MS-хтмлного файла с преформатом -RTF виндовс-1251-rtf в plaintext " CAT=cat export CAT # ПРЕДКОДИРОВЩИК. нУЖЕН АЛЬТЕРНАТИВКЕ - СПАСАТЬ БУКВУ yo LC_CTYPE=C export LC_CTYPE # CAT=ALTYO export CAT KOI_help() { echo "$@ $help" } KBD='qwertyuiop[]asdfghjkl;'"'"'zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>''/=1567902' BEST='ЙЦУКЕНГШЩЗХўФЫВАПРОЛДЖ'"Э"'ЯЧСМИТЬБЮйцукенгшщзх╛фывапролджэячсмитьбю''e?!:,.()-' BESTA="абвгдежзийклмнопрстуфхцчшщ╛ыьэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩўЫЬЭЮЯ║" LATIN='ABWGDEVZIJKLMNOPRSTUFHC+{}╛YX|~Qabwgdevzijklmnoprstufhc=\133\135ўyx\\`q║' RKOI7='ABWGDEVZIJKLMNOPRSTUFHC^[]_YX\\@Qabwgdevzijklmnoprstufhc~{}_yx|`q║' KOI7T='ABVGDE}ZIHKLMNOPRSTUFXC|WQ:{"+YJabvgde]zihklmnoprstufxc\\wq;['"'"'=yj║' KOI7='abwgdevzijklmnoprstufhc~{}_yx|`qABWGDEVZIJKLMNOPRSTUFHC^[]\177YX\\@Q║' SPARC="abcdefghijklmnopqrstuvwxyzўЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ╛ыьэюя║" KOI="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩ\377ЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя║" ISO='╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНО║' WIN="юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧ\377║" ALTERNAT="\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357Ё" GAK="\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\232\241\242\243\244\245\246\247\263\277\252\253\254\255\256\257\301\302\327\307\304\305\326\332\311\312\352\314\315\355\317\320\300" GOS="\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\232\241\242\270\244\245\246\247\263\277\252\253\254\255\256\257\301\302\327\307\304\305\326\332\311\312\313\314\315\316\317\320\300" MAC="\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377Ё" BOLXSHIE="ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ║" malenxkie="abcdefghijklmnopqrstuvwxyzабвгдежзийклмнопрстуфхцчшщъыьэюя║" LETTERS='acpyeuoxcnmETOPAHKXCBM' BUKWY='АСРУЕИОХСПМеторанкхсбм' NNF='уВАЖЕМЫЙмКСИ.бПБОНТтЗЮкЛЯиДвпЬГРУЦфнЧШ' nnf='╟трцхь╩щ\234ъёш.сясюэ╡╒чЎ\232ы©\230ф\222\237╪уЁ╠Іє\235Ї╦' NNF2='эзргоеЙмчяШЮпХатВЖбинГсБЧРЦЗМИПЕСНОКАДдвЛ''Я''Ь''''У''Т''''Ы' nnf2='нЧаУЮХщЬзп╪╒ЯЎРвтцСШЭубс©╧ЁчьшяхёэюърфФТы\237\235\203\220\236' TRANSLATOR=tr UNIXORDOS=cat ECHO=echo case "$OSTYPE" in Linux|linux*) ECHO="echo -e" ;; SunOS*)case `uname -a` in *4.1*|SunOS4*) ECHO=/usr/5bin/echo ;; esac ;; "") case `uname -a` in SunOS*4.1*|SunOS4*) ECHO=/usr/5bin/echo ;; esac ;; esac LC_ALL=C export LC_ALL CTRL_M=`$ECHO "\015"` ESC=`$ECHO "\033"` # while # разбор и выделение флагов # [ X != "X$*" ] # do case "$1" in -a|-alt) FROM="$KOI" INTO="$ALTERNAT" UNIXORDOS=unix2dos ; shift ;; -A|-ALT) CAT=ALTYO FROM="$ALTERNAT" INTO="$KOI" UNIXORDOS=dos2unix ; shift ;; -GAK) FROM="$GAK" INTO="$KOI" UNIXORDOS=dos2unix ; shift ;; -GOS) FROM="$GOS" INTO="$KOI" UNIXORDOS=dos2unix ; shift ;; -NNF) FROM="$nnf" INTO="$NNF" ; shift ;; -NNF2) FROM="$nnf2" INTO="$NNF2" ; shift ;; -k|-koi) FROM="$BESTA" INTO="$KOI" ; shift ;; -K|-KOI) FROM="$KOI" INTO="$BESTA" ; shift ;; -i|-iso) FROM="$KOI" INTO="$ISO" ; shift ;; -I|-iso) FROM="$ISO" INTO="$KOI" ; shift ;; -w|-win) FROM="$KOI" INTO="$WIN" ; shift ;; -W|-WIN) FROM="$WIN" INTO="$KOI" UNIXORDOS=dos2unix ; shift ;; -MAC) FROM="$MAC"'рвгхъчя' INTO="$KOI"'""""ЯЕ-' ; shift ;; -KOI7T) FROM="$KOI7T"'`%' INTO="$KOI"'e"' ; shift ;; -MACB) FROM="$MAC" INTO="$KOI" ; shift ;; -KBD) FROM="$KBD" INTO="$BEST" ; shift ;; -mac) FROM="$KOI" INTO="$MAC" ; shift ;; -KOI7) FROM="$KOI7" INTO="$KOI" ; shift ;; -koi7) FROM="$KOI" INTO="$KOI7" ; shift ;; -RKOI7) FROM="$RKOI7" INTO="$KOI" ; shift ;; -rkoi7) FROM="$KOI" INTO="$RKOI7" ; shift ;; -r|-lat) FROM="$KOI" INTO="$LATIN" ; shift ;; -R|-rus|-RUS) FROM="$LATIN" INTO="$KOI" ; shift ;; -s|-sparc) FROM="$KOI" INTO="$SPARC" ; shift ;; -L|-LETTER) FROM="$LETTERS" INTO="$BUKWY" ; shift ;; -b|-down) FROM="$BOLXSHIE" INTO="$malenxkie" ; shift ;; -B|-UP) FROM="$malenxkie" INTO="$BOLXSHIE" ; shift ;; -FIDO) FROM="$BUKWY" INTO="$LETTERS" ; shift ;; -UTF8) TRANSLATOR=cat UNIXORDOS=UTF8 ; shift ;; -utf8) TRANSLATOR=cat UNIXORDOS=utf8n ; shift ;; -TU) TRANSLATOR=cat UNIXORDOS=TU ; shift ;; -M|-CRLFLF) TRANSLATOR=cat UNIXORDOS=dos2unix ; shift ;; -m|-lfcrlf) TRANSLATOR=cat UNIXORDOS=unix2dos ; shift ;; -p) TRANSLATOR=cat UNIXORDOS=antip ; shift ;; -fido) TRANSLATOR=cat UNIXORDOS=tofido ; shift ;; -P) TRANSLATOR=cat UNIXORDOS=antiwse ; shift ;; -rk) TRANSLATOR=cat UNIXORDOS=anticolorramki; shift ;; -koiram) TRANSLATOR=cat UNIXORDOS=antikoiramki ; shift ;; -altram) TRANSLATOR=cat UNIXORDOS=altram ; shift ;; -altramwin) TRANSLATOR=cat UNIXORDOS=altramkiwin ; shift ;; -bach2rk) TRANSLATOR=cat UNIXORDOS=bach2rk ; shift ;; -iwasi2rk) TRANSLATOR=cat UNIXORDOS=iwasi2rk ; shift ;; -mosaic2rk) TRANSLATOR=cat UNIXORDOS=mosaic2rk ; shift ;; -rk2pcl) TRANSLATOR=cat UNIXORDOS=rk2pcl ; shift ;; -man2rk) TRANSLATOR=cat UNIXORDOS=man2rk ; shift ;; -RTF2RK) TRANSLATOR=cat UNIXORDOS=RTF2RK ; shift ;; -index2dir) TRANSLATOR=cat UNIXORDOS=index2dir; shift ;; -EOP) TRANSLATOR=cat UNIXORDOS=eop ; shift ;; -ABZAC) TRANSLATOR=cat UNIXORDOS=ABZAC ; shift ;; -abzac) TRANSLATOR=cat UNIXORDOS=abzac ; shift ;; -oTSTUP) TRANSLATOR=cat UNIXORDOS=oTSTUP ; shift ;; -OTSTUP) TRANSLATOR=cat UNIXORDOS=OTSTUP ; shift ;; -OTSTUP2) TRANSLATOR=cat UNIXORDOS=OTSTUP2 ; shift ;; -WW) TRANSLATOR=cat UNIXORDOS=WW ; shift ;; -WWC) TRANSLATOR=cat UNIXORDOS=WWC ; shift ;; -WWID) TRANSLATOR=cat UNIXORDOS=WWID ; shift ;; -KW) TRANSLATOR=cat UNIXORDOS=KW ; shift ;; -LYR) TRANSLATOR=cat UNIXORDOS=lyr ; shift ;; -AKSRUS) TRANSLATOR=cat UNIXORDOS=aksrus ; shift ;; -HEX) TRANSLATOR=cat UNIXORDOS=fromhex ; shift ;; -ANS) TRANSLATOR=cat UNIXORDOS=ANS ; shift ;; -ASC) TRANSLATOR=cat UNIXORDOS=ASC ; shift ;; -LEX) TRANSLATOR=cat UNIXORDOS=LEX ; shift ;; -COM) TRANSLATOR=cat UNIXORDOS=anticomma ; shift ;; -CT1CU) TRANSLATOR=cat UNIXORDOS=CT1CU ; shift ;; -PRUD) TRANSLATOR=cat UNIXORDOS=PRUD ; shift ;; -HRAM) TRANSLATOR=cat UNIXORDOS=HRAM ; shift ;; -PERENOS) TRANSLATOR=cat UNIXORDOS=PERENOS ; shift ;; -preformat) TRANSLATOR=cat UNIXORDOS=preformat; shift ;; -PREFORMAT) TRANSLATOR=cat UNIXORDOS=PREFORMAT; shift ;; -FORMAT) TRANSLATOR=cat UNIXORDOS=FORMAT ; shift ;; -wfor) TRANSLATOR=cat UNIXORDOS=wfor ; shift ;; -psewdo) TRANSLATOR=cat UNIXORDOS=psewdo ; shift ;; -hlebnikow) TRANSLATOR=cat UNIXORDOS=hlebnikow; shift ;; -MAN) TRANSLATOR=cat UNIXORDOS=MAN ; shift ;; -NAB) TRANSLATOR=cat UNIXORDOS=NAB ; shift ;; -NA) TRANSLATOR=cat UNIXORDOS=NA ; shift ;; -NA2) TRANSLATOR=cat UNIXORDOS=NA2 ; shift ;; -NA3) TRANSLATOR=cat UNIXORDOS=NA3 ; shift ;; -SKRIZHALI) TRANSLATOR=cat UNIXORDOS=SKRIZHALI; shift ;; -SH) TRANSLATOR=cat UNIXORDOS=SH ; shift ;; -KRU) TRANSLATOR=cat UNIXORDOS=KRU ; shift ;; -AHREF) TRANSLATOR=cat UNIXORDOS=AHREF ; shift ;; -HARRY) TRANSLATOR=cat UNIXORDOS=harry ; shift ;; -AKM) TRANSLATOR=cat UNIXORDOS=AKM ; shift ;; -LIB) TRANSLATOR=cat UNIXORDOS=LIB ; shift ;; -TEXTSHARE) TRANSLATOR=cat UNIXORDOS=TEXTSHARE; shift ;; -sort|-SORT) TRANSLATOR=cat UNIXORDOS=SORT ; shift ;; -REABZAC) TRANSLATOR=cat UNIXORDOS=REABZAC ; shift ;; -LINE) TRANSLATOR=cat UNIXORDOS=LINE ; shift ;; -MSHTML) TRANSLATOR=cat UNIXORDOS=MSHTML ; shift ;; -NOHTML) TRANSLATOR=cat UNIXORDOS=NOHTML ; shift ;; -NOHTMLIB) TRANSLATOR=cat UNIXORDOS=NOHTMLIB ; shift ;; -UTFHTML) TRANSLATOR=cat UNIXORDOS=UTFHTML ; shift ;; -UTFNUM) TRANSLATOR=cat UNIXORDOS=UTFNUM ; shift ;; -mime) TRANSLATOR=cat UNIXORDOS=mime ; shift ;; -MIME) TRANSLATOR=cat UNIXORDOS=MIME ; shift ;; -UNIW) TRANSLATOR=cat UNIXORDOS=UNIW ; shift ;; -uniw) TRANSLATOR=cat UNIXORDOS=uniw ; shift ;; -sx1) TRANSLATOR=cat UNIXORDOS=sx1 ; shift ;; -SX1) TRANSLATOR=cat UNIXORDOS=SX1 ; shift ;; -oct) TRANSLATOR=cat UNIXORDOS=oct ; shift ;; -LADA) TRANSLATOR=cat UNIXORDOS=LADA ; shift ;; -NO) TRANSLATOR=cat UNIXORDOS=cat ; shift ;; -WH) TRANSLATOR=cat UNIXORDOS=WH ; shift ;; -WHC) TRANSLATOR=cat UNIXORDOS=WHC ; shift ;; -RTF) TRANSLATOR=cat UNIXORDOS=RTF ; shift ;; -*|-*help) KOI_help ; exit 1 ;; *) FROM="$BESTA" INTO="$KOI" ;; esac ALTYO() { # АЛЬТЕРНАТИВНУЮ ОТРАЖАЕМ БУЛВУ e: В e # cat $1 | tr 'Я0xF00xF10xF20xF3' '\2450xAA0xBA0xAF0xBF' cat $1 | tr 'Я' '\245' } dos2unix() # пРЕВРАЩАЕТ ^M^J В ^J { sed -e "s/$CTRL_M$//" #awk '{sub("\015+$","");print}' } unix2dos() # пРЕВРАЩАЕТ ^J В ^M^J { # sed -e "/$CTRL_M$/ !s/^.*$/&$CTRL_M/" # sed -e "s/$/$CTRL_M/" awk '{print $0 "'$CTRL_M'"}' } antip() # пpЕВpАЩАЕТ "p" В pУССКОМ ТЕКСТЕ В "Р" { sed -e ' s/\([^ -~]\)p/\1Р/g s/p\([^ -~]\)/Р\1/g ' $1 } antiwse() { CTRL_I=`$ECHO "\011"` sed -e " s/ё/е/g s/\([^$CTRL_I-~]\)a/\1а/g s/a\([^$CTRL_I-~]\)/а\1/g s/\([^$CTRL_I-~]\)c/\1с/g s/c\([^$CTRL_I-~]\)/с\1/g s/\([^$CTRL_I-~]\)p/\1р/g s/p\([^$CTRL_I-~]\)/р\1/g s/\([^$CTRL_I-~]\)y/\1у/g s/y\([^$CTRL_I-~]\)/у\1/g s/\([^$CTRL_I-~]\)e/\1е/g s/e\([^$CTRL_I-~]\)/е\1/g s/\([^$CTRL_I-~]\)u/\1и/g s/u\([^$CTRL_I-~]\)/и\1/g s/\([^$CTRL_I-~]\)o/\1о/g s/o\([^$CTRL_I-~]\)/о\1/g s/\([^$CTRL_I-~]\)x/\1х/g s/x\([^$CTRL_I-~]\)/х\1/g s/\([^$CTRL_I-~]\)c/\1с/g s/c\([^$CTRL_I-~]\)/с\1/g s/\([^$CTRL_I-~]\)n/\1п/g s/n\([^$CTRL_I-~]\)/п\1/g s/\([^$CTRL_I-~]\)m/\1м/g s/m\([^$CTRL_I-~]\)/м\1/g s/\([^$CTRL_I-~]\)E/\1Е/g s/E\([^$CTRL_I-~]\)/Е\1/g s/\([^$CTRL_I-~]\)T/\1Т/g s/T\([^$CTRL_I-~]\)/Т\1/g s/\([^$CTRL_I-~]\)O/\1О/g s/O\([^$CTRL_I-~]\)/О\1/g s/\([^$CTRL_I-~]\)P/\1Р/g s/P\([^$CTRL_I-~]\)/Р\1/g s/\([^$CTRL_I-~]\)A/\1А/g s/A\([^$CTRL_I-~]\)/А\1/g s/\([^$CTRL_I-~]\)H/\1Н/g s/H\([^$CTRL_I-~]\)/Н\1/g s/\([^$CTRL_I-~]\)K/\1К/g s/K\([^$CTRL_I-~]\)/К\1/g s/\([^$CTRL_I-~]\)X/\1Х/g s/X\([^$CTRL_I-~]\)/Х\1/g s/\([^$CTRL_I-~]\)C/\1С/g s/C\([^$CTRL_I-~]\)/С\1/g s/\([^$CTRL_I-~]\)B/\1В/g s/B\([^$CTRL_I-~]\)/В\1/g s/\([^$CTRL_I-~]\)M/\1М/g s/M\([^$CTRL_I-~]\)/М\1/g " } tofido() { tr '[нР]' '[Hp]' } rk2pcl() { kommentarij=' [\]^ ^^D reverse ^^E ^T underline ^U ^\ dim ^] ' UND_S=`$ECHO "\024"` UND_E=`$ECHO "\025"` REV_S=`$ECHO "\036D"` REV_E=`$ECHO "\036E"` DIM_S=`$ECHO "\034"` DIM_E=`$ECHO "\035"` und_s="${ESC}\&dD" und_e="${ESC}\&d@" rev_s="" rev_e="" dim_s="" dim_e="" sed -e " s/${UND_S}/${und_s}/g s/${UND_E}/${und_e}/g s/${DIM_S}/${dim_s}/g s/${DIM_E}/${dim_e}/g s/${REV_S}/${rev_s}/g s/${REV_E}/${rev_e}/g " } antikoiramki() { #CTRL_KR=`$ECHO "\036"` #CTRL_KRASKI=`$ECHO "[\024\025\034\035]"` # ^T^U^\^] UGOLKI=`$ECHO "[\231\213\230\214\202\204\205]"` # pqbd p bd PEREKL=`$ECHO "[\234\211\237╗║╪\210]"` # ^|^ -| |- _|_ -| -|- WERT=`$ECHO "[\212\201]"` # | || GORIZ=`$ECHO "[\235═]"` # - perekl=`$ECHO "[\206\207╞╡]"` # + goriz=`$ECHO "[\200]"` # - wert=`$ECHO "[\203]"` # | | sed -e " s/$UGOLKI/+/g s/$PEREKL/+/g s/$perekl/+/g s/$WERT/|/g s/$GORIZ/-/g s/$wert/|/g s/$goriz/-/g " } altramkiwin() { UGOLKI='[©Єыцюзих╪╩]' # pqbd p bd PEREKL='[фбаеьнвпягклрйоІ╧╣]' goriz="[дм]" # - werti="[╨]" # | sed -e " s/$goriz/-/g s/$werti/|/g s/$UGOLKI/+/g s/$PEREKL/+/g " } altram() { UGOLKI='[©Єызюих╩╪]' # pqbd p bdpqbd PEREKL='[баец]' GORIZ="[м]" # = goriz="[д]" # - wert="[Ё]" # | WERT="[╨]" # |I sed -e " s/$goriz/-/g s/$GORIZ/=/g s/$WERT/I/g s/$wert/|/g s/$UGOLKI/+/g s/$PEREKL/+/g s%Ь%<sup>o</sup>%g " } bach2rk() { CTRL_T=`$ECHO "\024"` # ^T CTRL_U=`$ECHO "\025"` # ^U UGOLKI=`$ECHO "[\232\231\200©]"` # pqbd p bd PEREKL=`$ECHO "[\205\203\202\201Є]"` # ^|^ -| |- _|_ -| -|- WERT=`$ECHO "[Ё]"` # | || GORIZ=`$ECHO "[\204ї]"` # - sed -e " s/${ESC}E/ $CTRL_T/g s/${ESC}F/$CTRL_U/g s/$UGOLKI/+/g s/$PEREKL/+/g s/$WERT/|/g s/$GORIZ/-/g " } iwasi2rk() { CTRL_A=`$ECHO "\001"` # CTRL_T=`$ECHO "\024"` # CTRL_Z=`$ECHO "\031"` # sed -e " s/[${CTRL_A}-${CTRL_Z}]//g s/${ESC}E/${CTRL_T}/g s/${ESC}.//g " } anticolorramki() { CTRL_KR=`$ECHO "\036"` CTRL_KRASKI=`$ECHO "[\024\025\034\035]"` # ^T^U^\^] UGOLKI=`$ECHO "\203[\201\202\203\204\221\222\223\224]"` # pqbd PEREKL=`$ECHO "\203[\205\206\207\210\211]"` # ^|^ -| |- _|_ -| -|- WERT=`$ECHO "\203[\212\232]"` # | || GORIZ=`$ECHO "\203[\213\233]"` # - perekl=`$ECHO "\205[\226]"` # + goriz=`$ECHO "\205[\202\204]"` # - wert=`$ECHO "\205[\201\203\205]"` # | | sed -e " s/$CTRL_KR.//g s/$CTRL_KRASKI//g s/$UGOLKI/+/g s/$PEREKL/+/g s/$perekl/+/g s/$WERT/|/g s/$GORIZ/-/g s/$wert/|/g s/$goriz/-/g " } mosaic2rk() { # s/%E1/ю/g - ВОТ ВСЕ ЧТО ДЕЛАЕТ ЭТОТ AWK sed -e "`gawk 'BEGIN {for (i=192; i<=254 ; i=i+1) { printf ("s/[%%=]%2X/%c/g\n", i, i)}}' < /dev/null`" -e ' s/%22/"/g s/%20/ /g s/%3D/=/g s/%3F/?/g s/%5B/[/g s/%5D/]/g ' } man2rk() { UND_S=`$ECHO "\024"` UND_E=`$ECHO "\025"` REV_S=`$ECHO "\036D"` REV_E=`$ECHO "\036E"` Home=`$ECHO "\010"` # сИМВОЛ Home sed -e " s/_$Home\([^_]\)/$UND_S\1$UND_E/g s/.$Home\(.\)/$REV_S\1$REV_E/g s/$UND_E$UND_S//g s/$REV_E$REV_S//g " } RTF2RK() { sed -e ' s/à/а/g s/á/б/g s/â/в/g s/ã/г/g s/ä/д/g s/å/е/g s/æ/ж/g s/ç/з/g s/è/и/g s/é/й/g s/ê/к/g s/ë/л/g s/ì/м/g s/í/н/g s/î/о/g s/ï/п/g s/ð/р/g s/ñ/с/g s/ò/т/g s/ó/у/g s/ô/ф/g s/õ/х/g s/ö/ц/g s/÷/ч/g s/ø/ш/g s/ù/щ/g s/ü/ь/g s/û/ы/g s/ú/ъ/g s/ý/э/g s/þ/ю/g s/ÿ/я/g s/À/А/g s/Á/Б/g s/Â/В/g s/Ã/Г/g s/Ä/Д/g s/Å/Е/g s/Æ/Ж/g s/Ç/З/g s/È/И/g s/É/й/g s/Ê/К/g s/Ë/Л/g s/Ì/М/g s/Í/Н/g s/Î/О/g s/Ï/П/g s/Ð/Р/g s/Ñ/С/g s/Ò/Т/g s/Ó/У/g s/Ô/Ф/g s/Õ/Х/g s/Ö/Ц/g s/×/Ч/g s/Ø/Ш/g s/Ù/Щ/g s/Ü/Ь/g s/Û/Ы/g s/Ú/Ъ/g s/Ý/Э/g s/Þ/Ю/g s/ß/Я/g s/\[\[Atilde]]/Г/g s/\[\[thorn]]/ю/g s/\[\[eth]]/р/g s/\[\[Eth]]/Р/g s/&iaute;/н/g ' $1 # awk 'BEGIN { for (i=128;i<256;i++) {printf ("s/\\\\'\''%x/%c/g\n",i,i)}}'</dev/null> rr } index2dir() { sed -e ' s%<A HREF="*\([^ "]*\)"*>\(.*\)</A>%\2 ║ \1 % ' } eop() { CTRL_I=`$ECHO "\011"` # ^I CTRL_L=`$ECHO "\014"` # ^L sed -e "s/$CTRL_L/\\ /g" | grep -v "^[$CTRL_I ]*-[$CTRL_I ]*[0-9]*[$CTRL_I ]*-[$CTRL_I ]*$" } ABZAC() { CTRL_I=`$ECHO "\011"` # ^I sed -e " s/^$CTRL_I/ / s/^ /\\ / " } abzac() { perl -e 'while(read(STDIN,$_,100000)){s%\n\n%\n%g;print;}' } lyr() { #$song #%text шПАЛИКОВ г. #%music #%title осенний лес #%first мЕНЯЮТ ЛЮДИ АДРЕСА... #;%alias #;%theme #%exec @NADEZHDA #%chords 3 #;% - ЭТИ КОММЕНТАРИИ МЫ НЕ РАЗЛИЧАЕМ #; - ЭТИ КОММЕНТАРИИ МЫ ОСТАВЛЯЕМ # perl -pe perl -e ' $inzagolowok=0; while(<STDIN>) { s/\@ADELUNG/аДЕЛУНГ г.H./; s/\@BELETSKY_V/бЕЛЕЦКИЙ в./; s/\@PIRATS/пИРАТЫ/; s/\@TOURISM/тУРИЗМ/; s/\@MITYAEV_BRIGHT_PAST/сВЕТЛОЕ ПРОШЛОЕ.../; # if ($_ !~ /^[;%\$@]/) if ($_ !~ /^[%\$@]|^\;%|^\;$/) { if ( $inzagolowok ) { # ТОЛЬКО ЧТО КОНЧИЛСЯ ЗАГОЛОВОК if ($chords > 0) { $plus=""; } else { $plus="- ";} if (length ($title) < 2) { $title=$first; } if ($music eq $text) { $text=""; } if (length $music && length $text) { $authors="$music, $text"; } else { $authors="$music $text"; } print "\n $plus",$title," \t$authors\n"; $inzagolowok=0;$title="";$first="";$music="";$text=""; } print; } else { $inzagolowok=1; #s/^%exec.*// ; #s/^\;.*// ; #s/^\$song\n// ; /^%chords *(\d*)/ && do {$chords=$1;}; /^%text *(.*)/ && do { $text=$1;}; /^%music *(.*)/ && do { $music=$1;}; /^%first *(.*)/ && do { $first=$1;}; /^%title *(.*)/ && do { $title=$1;}; } } ' } aksrus() { # У НИХ ВЕСЬМА НЕТРИВИАЛЬНАЯ РАСКЛАДКА РУССКИХ БУКВ ПО ЛАТИНИЦЕ tr "_XxVv:;hH'"'"'"ёэWw%[*@╟=" '\-хХвВьЬЧчЖж""шШ:Ю?!Nў' | KOI -rus } fromhex() { perl -e ' while(<STDIN>) { s/0x([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; print; } ' 2> /dev/null } ASC() { perl -e 'while(read(STDIN,$_,1000000)) { tr%\t% %; s%([\n\r\t ]*)(</[iub]>)%$2$1%sig ; s%(<[ibu]>)([\n\r\t ]*)%$2$1%sig ; s%</i>( *)<i>%$1%ig;s%</u>( *)<u>%$1%ig;s%</b>( *)<b>%$1%ig; print;}' |\ perl -e ' while(<STDIN>) { tr/╦\001\222\223\224╚╩\204/ее\047\"\"\"\"\"/; # зДЕСЬ МЫ НЕСКОЛЬКО СПЕЦСИМВОЛОВ вОРДА "ОПУСТИМ" s%<b>( *)</b>%$1%ig;s%<i>( *)</i>%$1%ig; tr/\237\240\232\r/Я \n/; s/\205/.../g; s/\037//g; s/[\227\226]/--/g; s/в\200"/--/g; s/в"--/No/g; s/╧/No/g; print; } ' 2> /dev/null } LEX() { perl -e ' while(<STDIN>) { s/Ъ_([^Ъ]*)Ъ0/$1/g; s/Ъ1([^Ъ]*)Ъ0/$1/g; s/Ъ2([^Ъ]*)Ъ0/$1/g; s/Ъ[_0-2]([^Ъ\n]*)$/$1/g; print; } ' 2> /dev/null } ANS() { # пРИ СОХРАНЕНИИ Save as text with layout В НЕКОТОРЫХ АБЗАЦАХ # ПЕРВОЕ СЛОВО В СТРОКЕ СОХРАНЯЕТСЯ ЛАТИНСКИМИ БУКВАМИ - # ПРОСТО СБРАСЫВАЕТСЯ 8-Й БИТ. perl -e ' while(<STDIN>) { tr/\222\223\224/\047\"\"/; # зДЕСЬ МЫ НЕСКОЛЬКО СПЕЦСИМВОЛОВ вОРДА "ОПУСТИМ" s/\205/.../g; s/\227/--/g; s/\226/--/g; if ( $_ =~ /^( *[a-z`\|{~@}]*)(.*)/i ) { $a=$1; $c=$1 ; $b=$2 ; $a =~ tr/@ABWGDEVZIJKLMNOPRSTUFHC+{}╛YX|~Qabwgdevzijklmnoprstufhc=\133\135ўyx\\`q║/абвчздец╛йклмнопртуфхжигюЫЭ╛щшЬЮсБВЧЗДЕЦўЙКЛМНОПРТУФХЖИГЮыэўЩШьАС║/; print "$a$b\n" ;} else { print ; } } ' 2> /dev/null } CT1CU() { # ВЫДЕЛЯЕМ ЗАГОЛОВКИ В ТЕКСТЕ. # оТДЕЛЬНО СТОЯЩЕЕ ЧИСЛО # ОСТАЛЬНОЕ ПРИДУМАЕМ ПО ХОДУ CTRL_T=`$ECHO "\024"` # ^T CTRL_U=`$ECHO "\025"` # ^U sed -e ' s/^ *\([0-9][0-9]*\)$/ '"$CTRL_T"'\1'"$CTRL_U"'/ ' } psewdo() { # KOI -rk2pcl | KOI -a | KOI -psewdo - ПРЕВРАЩАЕТ РК-РАМКИ В alt-ПСЕВДОГРАФИКУ perl -e ' while(<STDIN>) { s/\203\201/\332/g; s/\203\202/\277/g; s/\203\203/\300/g; s/\203\204/\331/g; s/\203\205/\302/g; s/\203\206/\264/g; s/\203\207/\303/g; s/\203\210/\301/g; s/\203\211/\305/g; s/\203\212/\263/g; s/\203\213/\304/g; s/\203\214/\302/g; s/\203\215/\264/g; s/\203\216/\303/g; s/\203\217/\301/g; s/\203\220/\263/g; s/\203\221/\311/g; s/\203\222/\273/g; s/\203\223/\310/g; s/\203\224/\274/g; s/\203\225/\313/g; s/\203\226/\271/g; s/\203\227/\314/g; s/\203\230/\312/g; s/\203\231/\316/g; s/\203\232/\272/g; s/\203\233/\315/g; s/\205\201/\263/g; s/\205\202/\304/g; s/\205\203/\263/g; s/\205\204/\304/g; s/\205\205/\272/g; s/\205\206/\315/g; s/\205\207/\272/g; s/\205\210/\315/g; s/\205\213/\307/g; s/\205\215/\321/g; s/\205\216/\266/g; s/\205\217/\307/g; s/\205\220/\317/g; s/\205\225/\330/g; s/\205\226/\327/g; s/\205\227/\265/g; s/\205\230/\267/g; s/\205\231/\270/g; s/\205\232/\275/g; s/\205\233/\276/g; s/\205\234/\306/g; s/\205\235/\320/g; s/\205\236/\322/g; s/\205\237/\323/g; # s/\205\241/\324/g; s/\205\263/\324/g; s/\205\242/\325/g; s/\205\243/\326/g; print; } ' 2> /dev/null } PERENOS() { perl -e 'while(read(STDIN,$_,512000)){s/([^-])-\n/$1/sg;print;}' } preformat() { perl -e ' while(<STDIN>) { s/ - / == /g; s/([ ,!.?])-{1,2}/$1==/g; s/^-{1,2}([^-])/== $1/; s/ -$/ ==/; s/^ /\n /; print; } ' } PREFORMAT() { perl -e ' while(<STDIN>) { s/^==([^=])/--$1/g; s/([^=])==$/$1--/g; s/([^=])==([^=])/$1--$2/g; print; } ' | perl -e 'while(read(STDIN,$_,100000)){s%\n\n%\n%g;print;}' } wfor() { perl -e 'while(<STDIN>){s/^[ \t]*/\n /;print;}' } PRUD() { tr "\217БІ╒╗Ч\214\232╚ВІґЇ╞ЪНЁ║\221╛ўёЗМЕ╘Р©П\215Й\201\225╔Л\210\212\203\237\202К\227\216\204\220\207\222\200" "пРИВЕТмАКСИМПОЧЬЖБсЛНДУЫХЗЯЙЮнШбхГўикгявЩчодрзта" } HRAM() { tr "И╚╩ръ ╩©рт╛©йСГуеЯюЛҐ║чЗхш╙ы╨╪щяэЫьцЮМ" "вОПРС ПИРТКИЙВзУпДЮнЛНЧГХШЖЫЗМЩЕЭЧЬЦеБ" } hlebnikow() { sed -e ' s%<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">%% s%<META NAME=[^>]*>%% s%<BODY [^>]*>%% s% FACE=[^>]*%% s% SIZE=[123]%% s%<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">%% ' } MAN() { # Convertor abs-book.txt NROFF formatted to HTML H=`echo -e "\010"` T=`echo -e "\024"` U=`echo -e "\025"` Q=`echo -e "\021"` R=`echo -e "\022"` sed -e " s/_$H\(.\)/$T\1$U/g s/$U$T//g s/$U\( *\)$T/\1/g s%.$H\(.\)%$Q\1$R%g s/$R$Q//g s/$R\( *\)$Q/\1/g s/</\</g s%$Q%<i>%g s%$R%</i>%g " } # ║ ~/bbs/moshkow.txt NA2() { LC_CTYPE=C export LC_CTYPE tr '\n' ' ' | perl -e ' while(read(STDIN,$_,1000000)){ # ЗАЧИСТКА s%<head>.*</head>%%i; s%<body *[^>]*]*>%%i; s%</?html>%%i; s%</body>%%i; s%\002%*%g; s% % %gi; s%<(p|br|div) [^>]*>%<$1>%gi; s% (face|size) *= *"[^"]*"%%gi; s%<font >(.*?)</font>%$1%gi; s%</?b>( *)</?b>%$1%gi; s%</?u>( *)</?u>%$1%gi; s%</?i>( *)</?i>%$1%gi; s%( +)</([iub])>%</$2>$1%sgi; # подарок от Старинова s%\023 +XE +".*?" +\025%%sg; # ФОРМАТАЖ s%<br>%\n %sgi; s%<p>%\n\n %sgi; print; } ' } # ПОСТ-АСКИШНАЯ ФОРМАТИРОВКА NA3() { LC_CTYPE=C export LC_CTYPE perl -e ' while(<>){ s%^ <b>(.*)</b>$% \024$1\025%i; print; } ' } NA() { LC_ALL=C LC_CTYPE=C export LC_CTYPE egrep -via 'charset=windows-12|meta http-equiv="Content-Type"' |\ perl -e ' while(<STDIN>){ s%<META NAME=".+?"[^>]*>%% ; s% FACE="[A-Za-z, ]+"%%ig ; s% FACE=[^"> ,]*?%%ig ; s% SIZE=[12]%%ig ; s%<(p|b|i|div|br) .*?>%<$1>%ig ; s% % %ig; print; }' exit } NAB() { LC_ALL=C LC_CTYPE=C export LC_CTYPE # egrep -vi 'charset=windows-12|meta http-equiv="Content-Type"' ; exit egrep -v '^</*HTML>$|^</*HEAD>$|text/html; charset=windows-125' |\ perl -e 'while(read(STDIN,$_,100000)) {s%([^\n]{980,})!\n%$1%g; s%!\n!\n!\n!\n%%g;s%!\n!\n!\n%%g;s%!\n!\n%%g; s%!\n( *[Ю-З])%$1%g; s%\n(size=[-0-9]+)% $1%ig;print;}' |\ perl -e ' while(<STDIN>){ s%<META NAME="Generator"[^>]*>\n%% ; s%<META NAME="Template"[^>]*>\n%% ; s%</*BODY[^>]*>%% ; s%\227% %g; s%—%--%g ; s% % %g; s%“%"%g; s%”%"%g; s%	%%g; s%[⌠■]%"%g ; s% SIZE="[-0-9]+"%%ig ; s% SIZE=[-+0-9]+%%ig ; s% FACE="[A-Za-z ]+"%%ig ; s% FACE="?[^"> ]*"?%%ig ; s% COLOR="[^"]*"%%ig ; s%^<P>%\n %i ; s%<P>%\n\n %ig ; s%<div>%\n\n %ig ; s%<br>\n%\n %igs; s%<br>%\n %ig ; s%<dd>%\n %ig ; s%</?FONT>%%ig ; s%</?DIR>%%ig ; s%</div>%\n %ig ; s%</P>%%ig ; s%^<TITLE>([^<]*)</TITLE>% $1%g; s%--%-- %g ; s%"%"%ig ; print ; } ' |\ perl -e 'while(read(STDIN,$_,100000)) {s%(<[bi]>)([ \n]+)%$2$1%ig; s%([ \n]+)(</[bi]>)%$2$1%ig; print;}' } SKRIZHALI() { LC_ALL=C LC_CTYPE=C export LC_CTYPE perl -e ' while(<STDIN>){ s% SIZE="[0-9]*"%%ig ; s% SIZE=[0-9]*%%ig ; s% COLOR="[^"]*"%%ig ; s% FACE="[^"]*"%%ig ; s%<FONT>%%ig ; s%</FONT>%%ig ; print ; } ' } OTSTUP() { sed -e 's/^[ ][ ]*/ /' |\ perl -e 'while(read(STDIN,$_,100000)){ s%\n\n([^\n ])%\n\n $1%g; print;}' } OTSTUP2() { MINSIZE=56 sed -e 's/^[ ][ ]*/ /' |\ perl -e 'while(read(STDIN,$_,100000)){ s%\n-%\n -%g; s%\n([^\n]{0,'"$MINSIZE"'})\n%\n$1\n %g; print;}' } wyazh() { tmp=/tmp/$$mm cat $1 |\ egrep -v '</*HTML>|</*HEAD>|</*BODY' |\ tr '[A-Z]' '[a-z]' |\ sed -e ' s% <TITLE>% % s%</TITLE>%\ \ </pre>%' > $tmp } WWID() { perl -e 'while(read(STDIN,$_,100000)){ s/\[Author.*?\]//sgi; print;}' } WW() { tmp=/tmp/ww$$.doc trap "rm -f $tmp" 0 1 2 3 9 10 15 cat > $tmp if file $tmp | grep "Rich Text Format" > /dev/null 2> /dev/null ; then rtf2html $tmp| KOI -W |KOI -ASC |KOI -MSHTML | KOI -NA | KOI -NA2 |KOI -NOHTMLIB |KOI -OTSTUP|KOI -FORMAT|KOI -ASC |KOI -NA3|KOI -PREFORMAT else # if egrep -i 'microsoft word' $tmp > /dev/null # then # mswordview -o moshkow.txt отменен LD_LIBRARY_PATH=/usr/local/lib wvHtml --charset=windows-1251 $tmp - |\ KOI -W |KOI -ASC |KOI -MSHTML |KOI -NA |KOI -NA2 |KOI -NOHTMLIB|KOI -ASC|KOI -ASC | KOI -WWID | KOI -OTSTUP |KOI -FORMAT|KOI -NA3|KOI -PREFORMAT|KOI -PREFORMAT # else # winword $tmp # for flag in -W -ASC -wfor -FORMAT -PREFORMAT ; do # KOI $flag moshkow.txt moshkow.txt # done # beep # fi fi } WWC() { tmp=/tmp/ww$$.doc trap "rm -f $tmp" 0 1 2 3 9 10 15 cat > $tmp if file $tmp | grep "Rich Text Format" > /dev/null 2> /dev/null ; then rtf2html $tmp| KOI -W |KOI -ASC |KOI -MSHTML | KOI -NA # | KOI -NA2 |KOI -NOHTMLIB | sed -e 's/^ //' -e 's/ *$//' else LD_LIBRARY_PATH=/usr/local/lib wvHtml --charset=windows-1251 $tmp - |\ KOI -W |KOI -ASC |KOI -MSHTML |KOI -NA # |KOI -NA2 |KOI -NOHTMLIB | KOI -OTSTUP |KOI -FORMAT|KOI -NA3|KOI -PREFORMAT|KOI -PREFORMAT fi } UTF8() { utf8 |\ perl -e ' while (<>){ s/<img [^>]*src="?file[^>]*>//gi; s/<!--[^>]*-->//gi; s/б[╚╩]/"/gi; s/Б\200[\234\235]/"/gi; s/Б\200\224/--/gi; s/Б\200╒//gi; s/Б\200[\236і]/.../gi; s/Б\200\231/'"'"'/gi; last if /Document converted from word/; print; } ' true perl -e ' while(1) { break if (!read(STDIN,$C,1)); $I = $C-0320; if( $I == 0 || $I == 1 ) { # п,я read(STDIN,$C,1); if( $I == 0 ) { if( $C >= 0220 && $C < 0300 ) {$C = $C-0220+0300;} } else { if ( $C >= 0200 ) { $C = $C+0160; } } } print $C; } ' } FORMAT() { LC_ALL=C LC_CTYPE=C formater.pl | sed 's/^ *$//' } SH() { CTRL_T=`$ECHO "\024"` # ^T CTRL_U=`$ECHO "\025"` # ^U egrep -v '^ *WWW: *$' |\ sed -e " s/WWW: *\([^| ]*\) *$/WWW: \1 | \1/; s/|/║/; s/^ *\^[Tт]/ $CTRL_T/; s/\^U/$CTRL_U/; " } AHREF() { sed -e 's%\(ftp://[-a-z0-9/_.~]*\)%<a href=\1>\1</a>% s%\(http://[-:a-zA-Z0-9/_.~]*\)%<a href=\1>\1</a>%' } AKM() { perl -e 'while(read(STDIN,$_,100000)){ s%<!-- rema.ru -->.*?<!-- end rema.ru -->%%sgi; s%<!-- hosted by rema -->.*?<!-- end hosted by rema -->%%sgi; # .* - МИНИМАЛЬНОЕ ВХОЖДЕНИЕ $MOSHKOWENCODING=<<EOF; <!-- moshkow --> <font size=-1><b> <a href=Encoding_koi target=_parent>koi</a> <a href=Encoding_win target=_parent>win</a> <a href=Encoding_lat target=_parent>lat</a> <a href=Encoding_iso target=_parent>iso</a> <a href=Encoding_alt target=_parent>alt</a> <a href=Encoding_mac target=_parent>mac</a> <!--begin of Top100--> <a href=http://counter.rambler.ru/top100/><img src=http://counter.rambler.ru/top100.cnt?36798 alt=Rambler_s_Top100 width=1 height=1 border=0></a> <!--end of Top100 code--> <a href=http://www.rema.ru/akm/ target=_parent>rema.ru/akm</a> </b></font> <!-- end moshkow --> EOF s%<!-- EncodingMoshkow -->%$MOSHKOWENCODING%sio; print; }' } mime() { perl -e 'while(read(STDIN,$_,100000)){ s/([^0-9 A-Za-z])/sprintf("%%%02X",unpack("C", $1))/seg; print; }' } UNIW() { # А П Я # А П Я - 1040 + 192 # а п я # а п я perl -e 'while(read(STDIN,$_,100000)){ s/\&\#(\d+)\;/pack("C", $1 - 848 )/seg; print "$_"; }' | KOI -W } uniw() { # А П Я # А П Я - 1040 + 192 # а п я # а п я perl -e 'while(read(STDIN,$_,100000)){ s/([\300-\377])/sprintf("&#%d",848+unpack("C", $1))/seg; print "$_"; }' } SX1() # UNICODE двухбайтовый для SX1: abc -- > а^@b^@c^@,АБ-ЮЯ -> 0^D1^D-N^DO^D { perl -e ' sub rec{$c=unpack("C",@_[0]); if (@_[1] eq "\04"){ if(16 <= $c && $c <= 79 ){return sprintf ("%c",$c+176);} else{ return @_[0]; } }else{ return @_[0]; } } while(read(STDIN,$_,100000)){ s/^ЪЧ//; s/(.)(.)/&rec($1,$2)/seg; print "$_"; }' } sx1() { perl -e ' sub rec{(192<=($c=unpack(C,@_[0])))?pack(C,$c-176)."\04":@_[0]."\0";} print "ЪЧ"; while(<>){ s/./&rec($&)/seg; print $_; }' } utf8n() { # ║ ../linlocal/C/utf8.c perl -e ' sub rec{(($c=unpack(C,@_[0]))<0360)?pack(C2,0320,$c-060):pack(C2,0321,$c-0160)} while(<>){s/[\300-\377]/&rec($&)/seg;print;} ' } MIME() { perl -e 'while(read(STDIN,$_,100000)){ s/[%=]([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/seg; print; }' } oct() { perl -e 'while(read(STDIN,$_,100000)){ s/(.)/sprintf("\\%03o",unpack("C", $1))/seg; print; }' } oTSTUP() { sed -e " s/^ *\([$malenxkie]\)/\1/ s/^ *- \([$malenxkie]\)/- \1/ " } KRU() { KOI -ASC |\ perl -e ' while(<>){ s/@@@/║/; s%^\s*/###\s*(.*)\s*###/% \024 * $1 * \025%; s%^\s*###\s*(.*)\s*###% \024$1\025%; print; } ' } LIB() { perl -e 'while(read(STDIN,$_,100000)){ s%\n<hr>\n%\n-----------------------------------------------------------\n%sgi; s%.*<OPTION VALUE=1>1</SELECT><INPUT TYPE=submit VALUE=Send></form></div>%%; s%<ul><a name=\d*></a><h2>%\n \024%sgi; s%<dir><a name=\d*></a><h2>%\n \024%sgi; s%</h2></ul>%\025%sgi; s%</h2></dir>%\025%sgi; s%<pre><hr noshade>Last-modified:.*%%s; print ; } ' } TU() { perl -e 'while(read(STDIN,$_,100000)){ unless ($n){s/^\s*/ /s;} s/\^T/\024/sg; s/\^U/\025/sg; s/ї/\025/sg; s/І/\n \024/sg; print; $n++;}' } TEXTSHARE() { perl -e 'while (read(STDIN,$_,500000)){ s/\n(--+)\n( +\(.*?\n)*/\n\n $&\n\n/sg; s/\[\d+\]\n//sg; s/([^-])-\n([^\n])/$1$2/sg; print; }' 2> /dev/null } SORT() { KOI -a|sort|KOI -A } REABZAC() { perl -e 'while (read(STDIN,$_,500000)){ s/-\n ([абвгдежзиклмнопрстуфхцчшщьыъэюя])/$1/g; s/\n ([абвгдежзиклмнопрстуфхцчшщьыъэюя])/ $1/g; print; } ' } LINE() { perl -e 'while (read(STDIN,$_,500000)){ s/\n([^ \n])/ $1/g; s/([^ \n]) +/$1 /g; print; } ' } MSHTML() { perl -e ' while (read (STDIN,$_,3000000)){ s%<!--.*?-->%%sg; s% name=\".+?\"%%gsi; s%</?(o|w):.*?>%%sgi; # s%<o:[^.>]*>.*?</o:[^.>]*>%%sgi; # s%<w:[^.>]*>.*?</w:[^.>]*>%%sgi; s%<\!.*?>%%sgi; s%<(p|b|div|br) .*?>%<$1>%sgi; s%<span.*?>%%sgi; s% style='\''.*?'\''%%sgi; s%</(span|p)>%%sgi; s%—%--%sgi; s%…%...%sgi; s%&[lr]dquo;%"%sgi; s%"%"%sgi; s%­%%sgi; print; } ' } NOHTML() { perl -e 'while (read (STDIN,$_,1000000)){s%<.*?>%%sg;print;}' } NOHTMLIB() { perl -e ' while (read (STDIN,$_,1000000)) { s%<(/?[ib])>%{$1}%sgi; s%<(/?(table|tr|td)).*?>%{$1}%sgi; s%<(/?sup)>%{$1}%sgi; s%<(li)>%{$1}%sgi; s%<(img .*?)>%{$1}%sgi; s%<h\d>(.*?)</h\d>%\n \024$1\025\n%sgi; s%<.*?>%%sg; s%\{(/?[ib])\}%<$1>%sgi; s%\{(/?sup)\}%<$1>%sgi; s%\{(li)\}% <$1>%sgi; s%\{(img .*?)\}%<$1>%sgi; s%\{(/?(table|tr|td)).*?\}%<$1>%sgi; print; } ' } UTFHTML() { sed -e ' s/Ô/Ф/g; s/Æ/Ж/g; s/Ø/Ш/g; s/Ý/Э/g; s/Õ/Х/g; s/Ó/У/g; s/×/Ч/g; s/ú/ъ/g; s/Ð/Р/g; s/Ë/Л/g; s/Å/Е/g; s/Ä/Д/g; s/À/А/g; s/Á/Б/g; s/Ç/З/g; s/Ò/Т/g; s/ô/ф/g; s/ß/Я/g; s/Ê/К/g; s/Í/Н/g; s/Â/В/g; s/Ã/Г/g; s/Ì/М/g; s/Ñ/С/g; s/Ï/П/g; s/Î/О/g; s/ý/э/g; s/ù/щ/g; s/È/И/g; s/ö/ц/g; s/þ/ю/g; s/ø/ш/g; s/õ/х/g; s/æ/ж/g; s/é/й/g; s/÷/ч/g; s/á/б/g; s/û/ы/g; s/ç/з/g; s/ã/г/g; s/ÿ/я/g; s/ü/ь/g; s/ï/п/g; s/ì/м/g; s/ó/у/g; s/ä/д/g; s/ê/к/g; s/ð/р/g; s/ë/л/g; s/â/в/g; s/ñ/с/g; s/ò/т/g; s/è/и/g; s/í/н/g; s/à/а/g; s/å/е/g; s/î/о/g; s/ / /g; ' } UTFNUM() { sed -e ' s/	/ /g; s/¸/e/g; s/À/А/g; s/Á/Б/g; s/Â/В/g; s/Ã/Г/g; s/Ä/Д/g; s/Å/Е/g; s/Æ/Ж/g; s/Ç/З/g; s/È/И/g; s/É/Й/g; s/Ê/К/g; s/Ë/Л/g; s/Ì/М/g; s/Í/Н/g; s/Î/О/g; s/Ï/П/g; s/Ð/Р/g; s/Ñ/С/g; s/Ò/Т/g; s/Ó/У/g; s/Ô/Ф/g; s/Õ/Х/g; s/Ö/Ц/g; s/×/Ч/g; s/Ø/Ш/g; s/Ù/Щ/g; s/Ú/Ъ/g; s/Û/Ы/g; s/Ü/Ь/g; s/Ý/Э/g; s/Þ/Ю/g; s/ß/Я/g; s/à/а/g; s/á/б/g; s/â/в/g; s/ã/г/g; s/ä/д/g; s/å/е/g; s/æ/ж/g; s/ç/з/g; s/è/и/g; s/é/й/g; s/ê/к/g; s/ë/л/g; s/ì/м/g; s/í/н/g; s/î/о/g; s/ï/п/g; s/ð/р/g; s/ñ/с/g; s/ò/т/g; s/ó/у/g; s/ô/ф/g; s/õ/х/g; s/ö/ц/g; s/÷/ч/g; s/ø/ш/g; s/ù/ш/g; s/ú/ъ/g; s/û/ы/g; s/ü/ь/g; s/ý/э/g; s/þ/ю/g; s/ÿ/я/g; ' } getmail=' [ -d ~moshkow/mmm ] || exit 1 cd /var/spool/mqueue /etc/rc.d/rc3.d/S80sendmail stop ; sleep 3 ; /etc/rc.d/rc3.d/S80sendmail stop ; sleep 3 ; /etc/rc.d/rc3.d/S80sendmail stop grep -lq moshkow q* | sed "s/^.//" | while read f ; do mv q$f d$f ~moshkow/mmm/ ; done cd ~moshkow/mmm tar czvf ~/mail.tgz * ls -al ~/mail.tgz /etc/rc.d/rc3.d/S80sendmail start ' LADA() { KOI -W|KOI -ASC|KOI -ASC|KOI -wfor|KOI -FORMAT|KOI -PREFORMAT } KW() { tmp=/tmp/ww$$.doc trap "rm -f $tmp" 0 1 2 3 9 10 15 cat > $tmp cd cd bbs kword $tmp ; # mv $tmp ~/bbs/moshkow.txt mv ~/bbs/aa ~/bbs/moshkow.txt for flag in -UTF8 -W -ASC -NA -NA2 -NAB -OTSTUP -FORMAT -NA3 -PREFORMAT; do KOI $flag moshkow.txt moshkow.txt done } WH() { KOI -M|KOI -ASC |KOI -MSHTML|KOI -ASC|KOI -NA|KOI -NAB|KOI -NOHTMLIB|KOI -ASC|KOI -OTSTUP|KOI -FORMAT|KOI -PREFORMAT } WHC() { KOI -ASC |KOI -MSHTML|KOI -ASC|sed 's/^ *//'|KOI -NA|KOI -NAB|KOI -NOHTMLIB|KOI -OTSTUP|KOI -FORMAT|KOI -PREFORMAT } RTF() { perl -e ' while (read (STDIN,$_,1000000)) { #s/\r//sg; s/\\\r\n/\n/sg; s/\\cf\d//sg; s%\{\\([a-z]+)\d*(.*?)\}%<$1>\{$2\}</$1>%sg; s%\{\\([a-z]+)\d*(.*?)\}%<$1>\{$2\}</$1>%sg; s%\{\\([a-z]+)\d*(.*?)\}%<$1>\{$2\}</$1>%sg; s%\\([ib])0%</$1>%sg; s/\\([ib])/<$1>/sg; s/\\q\w//sg; s/\\pard/\n\n/sg; s/\\emdash/--/sg; s/\\~/ /sg; s/[{}]//sg; print; }' } if [ -z "$2" ] ; then $CAT $1 | $TRANSLATOR $FROM $INTO | $UNIXORDOS else if [ "$1" = "$2" ] then TMP=/tmp/koi$$ $CAT "$1" | $TRANSLATOR $FROM $INTO | $UNIXORDOS > $TMP ; touch -r "$1" $TMP # СОХРАНЯЕМ ПРЕЖНЮЮ ДАТУ МОДИФИКАЦИИ mv -f $TMP $2 || ( cp -f $TMP $2 && rm $TMP ) else $CAT "$1" | $TRANSLATOR $FROM $INTO | $UNIXORDOS > "$2" fi fi exit