在文本文件中替换无效的UTF-8字符

时间:2019-07-19 19:56:17

标签: regex encoding grep

我有一个来自SQLite转储的大文本文件。某些无效字符以某种方式进入数据库并以

的形式出现在转储中

现在我需要使用一些工具(grep,sed,tr)删除(或替换)字符并保留其余所有字符(标点,带重音符号等)。

我的困难是找到如何在grep中表示不可打印的字符。下面的图片显示了我如何在Atom中查看文本

file with bad characters opened in Atom

以及gedit如何打开它:

file with bad characters opened in gedit

我在下面的链接中放置了一个示例文件。

https://drive.google.com/open?id=1vA6uogwGwGB14aJN3LT6Ju0LhadUMyEX

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

无法使用grep / sed / tr执行此操作。所以我最终写了一个简单的Python脚本来忽略这些字符。

代码在:

https://gist.github.com/dvictori/c277aa12d0f7f1bcc5b0c061227f1442