Написала для sed'а скрипт, буквы меняющий.
А он не работает! Почему?
А в чём он должен работать?
У меня под рукой шестнадцатеричной гляделки нет. В начале файла есть byte order mark? Если есть, то это он может пакостить.
Думаю, проблема в кодировках. Сохраните в windows-1251 или utf-8 (без BOM) — думаю, так начнет работатать (при условии, что ввод будет содержать такую же кодировку).
Цитата: Python от декабря 27, 2013, 16:29
Думаю, проблема в кодировках. Сохраните в windows-1251 или utf-8 (без BOM) — думаю, так начнет работатать (при условии, что ввод будет содержать такую же кодировку).
Тут следует оговориться, что кодировка должна быть та же, что и у обрабатываемых файлов.
Вероятнее всего — смотря как использовать.
Цитата: Hellerick от декабря 27, 2013, 16:38
Тут следует оговориться, что кодировка должна быть та же, что и у обрабатываемых файлов.
И должна при этом быть ascii-совместимой, чтобы sed смог прочитать инструкции.
В cygwin
sed -e "s/A/А/g;s/B/Б/g;s/C/Ц/g;s/Ĉ/Ч/g;s/D/Д/g;s/E/Е/g;s/F/Ф/g;s/G/Ѓ/g;s/Ĝ/Ӂ/g;s/H/Г/g;s/Ĥ/Х/g;s/I/И/g;s/J/І/g;s/Ĵ/Ж/g;s/K/К/g;s/L/Л/g;s/M/М/g;s/N/Н/g;s/O/О/g;s/P/П/g;s/R/Р/g;s/S/С/g;s/Ŝ/Ш/g;s/T/Т/g;s/U/У/g;s/Ŭ/Ў/g;s/V/В/g;s/Z/З/g;s/a/а/g;s/b/б/g;s/c/ц/g;s/ĉ/ч/g;s/d/д/g;s/e/е/g;s/f/ф/g;s/g/ѓ/g;s/ĝ/ӂ/g;s/h/г/g;s/ĥ/х/g;s/i/и/g;s/j/і/g;s/ĵ/ж/g;s/k/к/g;s/l/л/g;s/m/м/g;s/n/н/g;s/o/о/g;s/p/п/g;s/r/р/g;s/s/с/g;s/ŝ/ш/g;s/t/т/g;s/u/у/g;s/ŭ/ў/g;s/v/в/g;s/z/з/g" < input.txt > output.txt
Это переводит
из латиницы в кириллицу. Для обратного нужно поменять местами буквы.