2016-05-06 2 views
1

У меня есть дамп mysql с несколькими буквами, которые используются на испанском языке, например: á, é, í, ó, ú и ñ.Использование sed для замены/удаления акцентированных латинских символов

Я пытаюсь импортировать этот дамп в локальную базу данных, но результирующие таблицы не отображают буквы правильно. Например, «colección» появляется как «colección» в Интернете и как «colección» в SQL-дампе.

В настоящее время я не могу получить доступ к исходной базе данных, поэтому мне пришло в голову попытаться заменить текст с помощью sed кодом, который на самом деле понимает база данных. В случае «-» он должен быть сохранен как «Ã» в базе данных (который идентичен тому, как он отображается в Интернете).

Я попытался заменить его, используя что-то вроде этого: sed -e 's/ó/ó' dump.sql, но я получаю сообщение об ошибке, которая говорит:

sed: -e expression #1, char 9: unterminated `s' command. 

Я понимаю, что ошибка происходит из-кодов, которые я использую, но у меня нет никакого способа по буквам их правильно в терминале без всякой гадости в подсказке (символы уходят с места, больше не могут использовать delete и т. д.).

Что было бы правильным способом использовать sed для достижения этой цели? Я понимаю, что может быть более простой способ исправить дамп SQL, но я хотел бы посмотреть, может ли это сделать sed (для учебных целей), прежде чем снова связываться с исходной базой данных.

ответ

2

прекратить действие SED команды с /:

sed -e 's/ó/ó/' dump.sql 
Смежные вопросы