LINUX.ORG.RU

Заменить номера на символы.

 , ,


1

2

Имеется файл HTML, где все не-ASCII символы заменены на последовательности вида "&#nnnnn;", например "て". (Для определённости — японский язык в UTF-8.) Существует ли быстрый способ заменить эти последовательности на соответствующие символы? Написать пару тысяч регулярных выражений для замены можно, но долго и громоздко. Открыть в браузере и скопировать в редактор можно, но неинтересно. Как ещё можно это сделать?

Заранее спасибо.

Ответ: recode умеет конвертировать такие последовательности в символы. В моём случае отсутствовали символы вроде & или <, поэтому оказалось достаточно команды:

cat Gackt-Redemption.html | recode html..utf-8

★★★★★

Ответ на: комментарий от Stil

Это я и имел в виду под «громоздко».

question4 ★★★★★
() автор топика
Ответ на: комментарий от Chaser_Andrey

Ага, это он так реагировал на recode html..ascii Когда я поставил recode html..utf-8 , всё получилось.

question4 ★★★★★
() автор топика
Ответ на: комментарий от salsa

В плагине vim-unimpaired есть ]x. Твой пример нормально декодировал в какую-то азиатскую загагулину.

В «て»? Если да, значит работает правильно.

Судя по исходнику, он вызывает nr2char.

Спасибо, может ещё пригодится.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Там ещё однострочники на perl и php, мне больше понравилось решение с perl.

Chaser_Andrey ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.