使用sed替换/删除带重音的拉丁字符

时间:2016-05-06 05:29:52

标签: linux replace sed

我有一个mysql转储,里面有几个用西班牙语写的字母,例如:á,é,í,ó,ú和ñ。

我正在尝试将此转储导入到本地数据库,但生成的表不能正确显示这些字母。例如,“colección”在网络上显示为“colección”,在SQL转储中显示为“colección”。

我目前无法访问原始数据库,因此我尝试使用sed替换使用数据库实际理解的代码的文本。在“ó”的情况下,它应该被保存为“³”到数据库(这与它在网络上的显示方式相同)。

我尝试使用以下内容替换它:sed -e 's/ó/ó' dump.sql但是我收到错误消息:

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

我理解错误是由于我正在使用的代码,但是我没有办法在终端中正确拼写它们而不会在提示符中出现问题(字符不合适,不能再使用删除,等)。

使用sed实现此目的的正确方法是什么?我意识到可以有一种更简单的方法来修复SQL转储,但是我想看看sed是否能够做到这一点(出于学习目的),然后再次使用原始数据库。

1 个答案:

答案 0 :(得分:2)

使用/终止您的sed命令:

sed -e 's/ó/ó/' dump.sql