Инструмент для преобразования акцентированных символов в HTML-объекты?

Есть ли в Ubuntu инструмент (с командной строкой в ​​порядке), который может преобразовывать акцентированные символы в объекты HTML? Предпочтительно рекурсивно и без преобразования тегов html / php.

e.g.
from: é
to: é
or: é
7
задан 4 May 2011 в 23:18

4 ответа

Перекод может преобразовать в объекты HTML:

$ echo "é" | recode ..html
é

Существует несколько немного отличающихся преобразований HTML, доступных в перекоде; посмотрите info recode HTML.

Если Вы хотите повторно кодировать файл или некоторые файлы, можно использовать

$ recode ..html one_file another_file and so on

Для рекурсивного действия используйте find команда, например.

$ find your_directory -type f -name "*.html"

Вышеупомянутое находит, что команда только покажет файлы. Удостоверьтесь, что Вы нашли только правильные файлы, не любые двоичные файлы и не любые файлы в нежелательных каталогах. Это - также хорошая идея сделать резервное копирование или использовать копию Ваших файлов, не реальных файлов. При нахождении корректной команды находки добавить -exec your_command {} +, где your_command recode ..html сверху и {} обозначает файл (файлы), которые даны находкой для перекодирования:

$ find your_directory -type f -name "*.html" -exec recode ..html {} +

Но подождите, существует один большой протест: recode ..html предполагает, что Ваши входные файлы находятся в том же наборе символов (кодирующем) это, Вы используете на командной строке. Если все Ваши файлы будут использовать "современный" UTF-8, то он будет хорошо работать, потому что Ubuntu использовала UTF-8 из стандарта. Но если некоторые Ваши файлы будут использовать более старый ISO-8859-1 или другие наборы символов, то это будет намного более сложно.

7
ответ дан 4 May 2011 в 23:18

вероятно, sed. Учебное руководство здесь

http://www.grymoire.com/Unix/Sed.html#uh-6

для Вашего пример, возможно, управляйте

sed s/"é"/"\&#233"/g < oldfile > newfile

(восстановите меня, если я неправ, не видели sed некоторое время),

GUI

вероятно, значение по умолчанию установило gedit, ctrl+H

0
ответ дан 4 May 2011 в 23:18

Проверьте источник http://www.text-symbols.com/tools/escape-chars/

. Возьмите этот javascript, выполните его в среде js, которая может сделайте несколько операций ввода-вывода (node.js) и просто используйте find -exec, чтобы найти все файлы для преобразования и выполнить преобразователь на основе узлов для всех необходимых файлов.

0
ответ дан 4 May 2011 в 23:18

Вдохновленный предложением Денверко об использовании sed, я написал хорошо документированный легко читаемый bash-скрипт с открытым исходным кодом, который преобразует акцентированные буквы в сущности HTML. Вы можете найти его здесь: http://www.lugato.co.uk/silvio_dwl.html Наслаждайтесь! ;)

0
ответ дан 4 May 2011 в 23:18

Другие вопросы по тегам:

Похожие вопросы: