Помогите со скриптом... плиз...

Задача:

Сценарий перекодирует текстовый файл, имя которого указано в командной строке, из одной кодировки в другую. Сценарий спрашивает имена кодировок у пользователя. Должны поддерживаться как минимум cp1251, koi8r и cp866. Результат выдаётся в файл, указанный вторым параметром в командной строке. Программы iconv, recode, lynx и т.п. не использовать!

Пример:

$ ./myscript.sh data.txt result.txt

Please, specify sourse charset:

  1. cp1251

  2. koi8r

  3. cp866

#? 2

Please, specify destination charset:

  1. cp1251

  2. koi8r

  3. cp866

#? 1

Ребята… помогите пожалуста, нужно сдавать, а у меня уже фантазия закончилась… придумать ничего не могу!

Скрипт писать не буду - это не пять минут, время жалко. Но посоветую.

Перечисленные кодировки похожи тем, что английские буквы в них можно оставлять без изменений. Касательно cp1251 и cp866, можно просто смещать код символа (на сколько - не помню, см. таблицы этих кодировок). С koi8-r сложнее, там символы как-то странно расположены. Можно завести некий массив, в котором хранить соответствующие уже конвертированные символы в koi8-r по соответствующим смещением. Но если так делать, можно вообще не задумываться, и создать по массиву на каждую кодировку =)

Жаль, что тебе жалко времени… нужно бы по-конкретней, хотя бы для первых 3-5 символов как делать? хех… похоже скрипта мне тут не напишут. 8(

| Цитата: |
|

похоже скрипта мне тут не напишут. 8(

|

Ну ясно дело, это ж не хелловолд =) Поделюсь тем, что видел.

Вот хелп по koi8-r:

http://koi8.pp.ru/main.html

Здесь можно посмотреть хороший сорс на JavaScript (как я и говорил, по массиву на кодировку):

http://iclub.nsu.ru/~cher/code/english/

И еще, смотри исходники и описания iconv, там все понятно:

http://www.gnu.org/software/libiconv/

Спасиба большое - уже кое-что!

Помоему это можно сделать командой

tr