Уважаемые гуру подскажите как реализовать это:
на входе есть текстовый файл в кодировке UTF8 содержащий русский текст но набранный какбы на латинской раскладке, т.е следующем виде(содержание):ghbdtn lheu
означает
привет друг
как его перекодировать в читаемый вид?
пробовал так:#!/bin/sh
eng="qwe"
rus="йцу"
cat logxx.txt | tr $eng $rus > resultlog.txtну не прокатило на выходе кракозябры
Открываю истину кодировка utf8(да и другие тоже) полностью сохраняют первые 128 символов. Так что говорить об utf-8(или другой кодировке) для файла состоящего из латинских букв смешно.Привести нормальный пример работы+ошибки вы конечно не в состоянии, наверно из соображений секурности. Демонстрирую что tr работает на приведенном вами же тексте:
$ eng="ghbdtnleu";rus="приветдуг";echo ghbdtn lheu | tr $eng $rus
привет друг
>Открываю истину кодировка utf8(да и другие тоже) полностью сохраняют первые 128 символов.
>Так что говорить об utf-8(или другой кодировке) для файла состоящего из
>латинских букв смешно.
>
>Привести нормальный пример работы+ошибки вы конечно не в состоянии, наверно из соображений
>секурности. Демонстрирую что tr работает на приведенном вами же тексте:
>$ eng="ghbdtnleu";rus="приветдуг";echo ghbdtn lheu | tr $eng $rus
>привет другпростите я вас не понял
eng="ghbdtnleu";rus="приветдуг";echo ghbdtn lheu | tr $eng $rus
эта команда выводит у меня кракозябрыдумаю надо как то так копать но как именно не пойму
eng="ghbdtnleu";rus="приветдуг";echo "ghbdtn lheu" | tr $eng $rus | iconv -f koi8-r
кракозябры но по длине уже нормально показывает
>думаю надо как то так копать но как именно не поймуДумать -- оно, это вам не хухры-мухры... Осторожнее, не пораньтесь.
>| iconv -f koi8-r
>кракозябры но по длине уже нормально показывает$ eng="ghbdtnleu";rus="`echo "приветдуг"|recode -f u8..koi8-r`";echo ghbdtn lheu | tr $eng $rus|recode koi8-r..u8