#!/bin/bash path='.' #file_ext1='.tor' #file_ext2='.txt' #file_ext_tmp='.tmp' #file_mask='bas*'$file_ext1 file_ext1='.msx' file_ext2='.txt' file_ext_tmp='.tmp' file_mask='msx'$file_ext1 for file1 in `find $path -type f -name "$file_mask"` do file2=${file1//$file_ext1/$file_ext2} file_tmp="/tmp/"${file1//$file_ext1/$file_ext_tmp} rm -f $file2 #rm $file_tmp #echo "file1=$file1" #echo "file2=$file2" #echo "file_tmp=$file_tmp" #exit p=0 # Префикс для определения 40h-5Fh - графические символы, для обращение к ним используется префикс 01h od -An -t x1 -v <$file1| # Translate binary to 1 byte hex while read line;do # Read line of HEX pairs for char in $line;do # For each pair # d=$(printf "%d" 0x$char) # translate to decimal d=`echo $((0x$char))` #echo $d1 if [ $d -eq 1 ]; then # d=1 #echo "d=1 (Special)" p=1 # Устанавливаем префикс elif [[ $p -eq 1 && $d -lt 128 ]]; then # p=1 d<128 case $char in 41) x="e298ba" ;; # 141 Незакрашенное улыбающееся лицо U+263A 42) x="e298bb" ;; # 142 Закрашенное улыбающееся лицо U+263B 43) x="e299a5" ;; # 143 Черви закрашенные U+2665 44) x="e299a6" ;; # 144 Бубны закрашенные U+2666 45) x="e299a3" ;; # 145 Трефы закрашенные U+2663 46) x="e299a0" ;; # 146 Пики закрашенные U+2660 # 47) x=⋅ ;; # 147 знак умножить (точка) # 48) # 148 # 49) # 149 # 4a) # 14A 4b) x="e29982" ;; # 14B марс U+2642 4c) x="e29980" ;; # 14C венера U+2640 4d) x="e299aa" ;; # 14D восьмая нота U+266A 4e) x="e299ac" ;; # 14E шестнадцатая нота U+266C # 4f) /∗/ # 14F оператор звездочки # 50) # 150 51) x="e294b4" ;; # 151 граница лёгкая вверх и горизонтально U+2534 52) x="e294ac" ;; # 152 граница лёгкая вниз и горизонтально U+252C 53) x="e294a4" ;; # 153 граница лёгкая вертикальная и налево U+2524 54) x="e2949c" ;; # 154 граница лёгкая вертикальная и направо U+251C 55) x="e294bc" ;; # 155 граница лёгкая вертикальная и горизонтальная U+253C 56) x="e29482" ;; # 156 граница лёгкая вертикальная U+2502 57) x="e29480" ;; # 157 граница лёгкая горизонтальная U+2500 58) x="e2948c" ;; # 158 граница лёгкая вниз в направо U+250C 59) x="e29490" ;; # 159 граница лёгкая вниз и налево U+2510 5a) x="e29494" ;; # 15A граница лёгкая вверх и направо U+2514 5b) x="e29498" ;; # 15B граница лёгкая вверх и налево U+2518 5c) x="e295b3" ;; # 15C граница легкий диагональный крест U+2573 5d) x="e295b1" ;; # 15D граница легкая диагональ с верхнего правого в нижний левый U+2571 5e) x="e295b2" ;; # 15E граница легкая диагональ с верхнего левого в нижний правый U+2572 # 15F esac p=0 elif [ $d -lt 128 ]; then # d>1 d<128 #echo "$d d>1 d<128 (Latin)" #echo -n "$char" x="$char" elif [ $d -ge 128 ]; then # d>1 d>=128 #echo "$d d>1 d>128 (Russian)" #echo -n "$char" case $char in c0) x="d18e" ;; # ю U+044E c1) x="d0b0" ;; # а U+0430 c2) x="d0b1" ;; # б U+0431 c3) x="d186" ;; # ц U+0446 c4) x="d0b4" ;; # д U+0434 c5) x="d0b5" ;; # е U+0435 c6) x="d184" ;; # ф U+0444 c7) x="d0b3" ;; # г U+0433 c8) x="d185" ;; # х U+0445 c9) x="d0b8" ;; # и U+0438 ca) x="d0b9" ;; # й U+0439 cb) x="d0ba" ;; # к U+043A cc) x="d0bb" ;; # л U+043B cd) x="d0bc" ;; # м U+043C ce) x="d0bd" ;; # н U+043D cf) x="d0be" ;; # о U+043E d0) x="d0bf" ;; # п U+043F d1) x="d18f" ;; # я U+044F d2) x="d180" ;; # р U+0440 d3) x="d181" ;; # с U+0441 d4) x="d182" ;; # т U+0442 d5) x="d183" ;; # у U+0443 d6) x="d0B6" ;; # ж U+0436 d7) x="d0b2" ;; # в U+0432 d8) x="d18c" ;; # ь U+044C d9) x="d18b" ;; # ы U+044B da) x="d0b7" ;; # з U+0437 db) x="d188" ;; # ш U+0448 dc) x="d18d" ;; # э U+044D dd) x="d189" ;; # щ U+0449 de) x="d187" ;; # ч U+0447 df) x="d18a" ;; # ъ U+044A e0) x="d0ae" ;; # Ю U+042E e1) x="d090" ;; # А U+0410 e2) x="d091" ;; # Б U+0411 e3) x="d0a6" ;; # Ц U+0426 e4) x="d094" ;; # Д U+0414 e5) x="d095" ;; # Е U+0415 e6) x="d0a4" ;; # Ф U+0424 e7) x="d093" ;; # Г U+0413 e8) x="d0a5" ;; # Х U+0425 e9) x="d098" ;; # И U+0418 ea) x="d099" ;; # Й U+0419 eb) x="d09a" ;; # К U+041A ec) x="d09b" ;; # Л U+041B ed) x="d09c" ;; # М U+041C ee) x="d09d" ;; # Н U+041D ef) x="d09e" ;; # О U+041E f0) x="d09f" ;; # П U+041F f1) x="d0af" ;; # Я U+042F f2) x="d0a0" ;; # Р U+0420 f3) x="d0a1" ;; # С U+0421 f4) x="d0a2" ;; # Т U+0422 f5) x="d0a3" ;; # У U+0423 f6) x="d096" ;; # Ж U+0416 f7) x="d092" ;; # В U+0412 f8) x="d0ac" ;; # Ь U+042C f9) x="d0ab" ;; # Ы U+042B fa) x="d097" ;; # З U+0417 fb) x="d0a8" ;; # Ш U+0428 fc) x="d0ad" ;; # Э U+042D fd) x="d0a9" ;; # Щ U+0429 fe) x="d0a7" ;; # Ч U+0427 8d) x="e296bc" ;; # 8D Чёрный треугольник с вершиной вниз U+25BC 8e) x="e296b2" ;; # 8E Чёрный треугольник с вершиной вверх U+25B2 8f) x="e296b6" ;; # 8F Чёрный треугольник с вершиной направо плей, проигрывать, старт U+25B6 90) x="e29780" ;; # 90 Черный треугольник с вершиной налево U+25C0 99) x="e289a0" ;; # 99 Не равный U+2260 a0) x="ceb1" ;; # A0 Греческая строчная буква альфа U+03B1 a1) x="ceb2" ;; # A1 Греческая строчная буква бета U+03B2 a2) x="ce93" ;; # A2 Греческая заглавная буква гамма U+0393 a3) x="cf80" ;; # A3 Греческая строчная буква пи U+03C0 a4) x="e28891" ;; # A4 N-ичное суммирование U+2211 a5) x="cf83" ;; # A5 Греческая строчная буква сигма U+03C3 a6) x="cebc" ;; # A6 Греческая строчная буква мю U+03BC a7) x="ceb3" ;; # A7 Греческая строчная буква гамма U+03B3 a8) x="cea6" ;; # A8 ГГреческая заглавная буква фи U+03A6 # A9 # AA # AB # AC # AD ae) x="e28888" ;; # AE Принадлежит множеству U+2208 # AF # B0 b1) x="c2b1" ;; # B1 Знак плюс-минус U+00B1 b2) x="e289a5" ;; # B2 Больше чем или равно U+2265 b3) x="e289a4" ;; # B3 Меньше или равный U+2264 b4) x="e28ea7" ;; # B4 Левая фигурная скобка, верхний крючок U+23A7 b5) x="e28ead" ;; # B5 Правая фигурная скобка, нижний крючок U+23AD b6) x="c3b7" ;; # B6 Знак деления U+00F7 b7) x="e28988" ;; # B7 Почти равный U+2248 b8) x="c2b0" ;; # B8 Знак градуса U+00B0 # B9 # BA bb) x="e2889a" ;; # BB Квадратный корень U+221A bc) x="e281bf" ;; # BC Надстрочный знак латинская строчная буква n U+207F bd) x="e28282" ;; # BD Подстрочный индекс два U+2082 # BE bf) x="c2a4" ;; # BF Знак валюты U+00A4 esac # else # echo "d=$d" fi echo -n "$x" >>$file_tmp x="" done done xxd -r -p $file_tmp $file2 ##rm $file2 rm -f $file_tmp done exit # s/┬/▮/ # чёрный вертикальный прямоугольник # e2\x8C\xA1/■/ # чёрный квадрат #### a3/δ/ # A3 дельта