html - sed -- 删除非标准字符

标签 html css bash sed utf-8

大家好,我一直在努力研究并想出一个干净的方法来做到这一点..

我有一个 .sql 文件,其中充满了人们从非标准化文件等复制和粘贴的错误字符,我的任务是删除因此出现的字符。

一个例子是——

“ some text here †more text

数据库很庞大,我不确定有多少非标准的 utf-8 字符......那么是否有一个 sed 参数可以删除所有非标准字符(因为我不知道到底有哪些字符)?

这些 block 是数据库中的标准 HTML 和 CSS block ,因此无论如何允许的字符数量有限,所以我应该使用大量正则表达式 IE 走这条路

[^a-zA-Z0-9`~!@#$%^&*()_\-+={[}\] \\|:;"'<,>.?\/]

因为这是存储的 HTMLCSS 我不认为需要保留制表符和空格(或者他们会把它保存在文件中)。

sed 语句中的上述 regex 看起来很奇怪,有点 hack-ish。

是否有更简洁的方法来搜索并删除这些字符?

我已经尝试了很多 SO 答案的建议,但大多数答案只包含一个或几个字符..我想删除任何不是“标准”utf-8 的东西

最佳答案

我认为这会成功:

iconv -f ORIGINAL_ENCORDING (utf-8) -t utf-8 -c yourfile.sql

关于html - sed -- 删除非标准字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42703407/

相关文章:

html - 将两个 div 居中到主 div 内的中间

css - 如何了解禁用 HTML 元素的原因

regex - 如何在 Linux 中将正则表达式传递给 find 命令?

linux - 将字段转换为时间戳并插入 CSV

html - 为什么这个元素不居中?

python - 使用 Python 将 HTML 转为 IMAGE

php - 如果我正在使用 HTMLPurifier,我还需要使用 htmlentities 吗?

java - 从部署在 tomcat 服务器中的 JSP 打开共享本地文件夹(C 盘或 D 盘等)

html - 如何在水平居中的导航链接旁边对齐 Logo ?

bash - bash shell命令行参数-e的含义是什么?