Вы забыли обозначить кодировку текста подстановки. Обновление : В первой ревизии у меня было решение, включающее неприятную encoding
прагму.Этого можно полностью избежать, но стандартный способ, описанный ниже, до сих пор почему-то не приходил мне в голову.
bash> export LANG=ru_RU.koi8r # I do not have CP…
bash> echo "Русский текст" | iconv -f UTF-8 | hex
0000 f2 d5 d3 d3 cb c9 ca 20 d4 c5 cb d3 d4 0a ������� �����.
bash> echo "Русский текст" | iconv -f UTF-8 | perl -p -i -e'BEGIN {use open ":locale"}; use utf8; s/\p{InCyrillic}/й/g' | hex
0000 ca ca ca ca ca ca ca 20 ca ca ca ca ca 0a ������� �����.
bash> echo "Русский текст" | iconv -f UTF-8 | perl -p -i -e'BEGIN {use open ":locale"}; use utf8; s/\p{InCyrillic}/й/g' | iconv -t UTF-8
ййййййй ййййй