Чтение кодировки символов с помощью sed

Я пытаюсь написать сценарий bash для преобразования всех специальных символов внутри файла (é, ü, ã и т. д.) в латексный формат (\ 'e, \ "u, \ ~ a и т. д.). Обычно, этот материал очень прост в работе с sed, но у меня возникают проблемы с получением sed для распознавания специальных символов. Как я могу сообщить команде прочитать файл с использованием iso или кодировки UTF-8?

Если это невозможно, есть ли способ заставить sed понять специальные символы?

1
задан 8 May 2011 в 19:39

9 ответов

Это может быть так же просто, как

iconv --from-code $enc input-file |
    sed 's/é/\\'\''e/;s/ü/\\"e/;s/ã/\\~a/' |
    iconv -to-code $enc >converted-input-file

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l.

2
ответ дан 25 May 2018 в 22:02

Это может быть так же просто, как

iconv --from-code $enc input-file | sed 's/é/\\'\''e/;s/ü/\\"e/;s/ã/\\~a/' | iconv -to-code $enc >converted-input-file

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l.

2
ответ дан 25 July 2018 в 22:11

Это может быть так же просто, как

iconv --from-code $enc input-file | sed 's/é/\\'\''e/;s/ü/\\"e/;s/ã/\\~a/' | iconv -to-code $enc >converted-input-file

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l.

2
ответ дан 26 July 2018 в 19:36

Это может быть так же просто, как

iconv --from-code $enc input-file | sed 's/é/\\'\''e/;s/ü/\\"e/;s/ã/\\~a/' | iconv -to-code $enc >converted-input-file

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l.

2
ответ дан 2 August 2018 в 03:40

Это может быть так же просто, как

iconv --from-code $enc input-file | sed 's/é/\\'\''e/;s/ü/\\"e/;s/ã/\\~a/' | iconv -to-code $enc >converted-input-file

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l.

2
ответ дан 4 August 2018 в 19:43

Это может быть так же просто, как

  iconv --from-code $ enc input-file |  sed 's / é / \\' \ '' e /; s / ü / \\ "e /; s / ã / \\ ~ a / '| iconv -to-code $ enc & gt; convert-input-file   

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l .

2
ответ дан 6 August 2018 в 03:48

Это может быть так же просто, как

  iconv --from-code $ enc input-file |  sed 's / é / \\' \ '' e /; s / ü / \\ "e /; s / ã / \\ ~ a / '| iconv -to-code $ enc & gt; convert-input-file   

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l .

2
ответ дан 7 August 2018 в 21:43

Это может быть так же просто, как

  iconv --from-code $ enc input-file |  sed 's / é / \\' \ '' e /; s / ü / \\ "e /; s / ã / \\ ~ a / '| iconv -to-code $ enc & gt; convert-input-file   

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l .

2
ответ дан 10 August 2018 в 09:57

Это может быть так же просто, как

  iconv --from-code $ enc input-file |  sed 's / é / \\' \ '' e /; s / ü / \\ "e /; s / ã / \\ ~ a / '| iconv -to-code $ enc & gt; convert-input-file   

, где переменная enc содержит кодировку входного файла, одну из строк, полученных из iconv -l .

2
ответ дан 13 August 2018 в 16:16

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

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