linux - 如何从文本文件中删除非 UTF-8 字符

标签 linux bash text utf-8 character-encoding

我有一堆用 utf-8 编码的阿拉伯语、英语、俄语文件。尝试使用 Perl 脚本处理这些文件时,出现此错误:

Malformed UTF-8 character (fatal)

手动检查这些文件的内容,我发现其中有一些奇怪的字符。 现在我正在寻找一种方法来自动从文件中删除这些字符。

还有办法吗?

最佳答案

这个命令:

iconv -f utf-8 -t utf-8 -c file.txt

将清理您的 UTF-8 文件,跳过所有无效字符。

-f is the source format
-t the target format
-c skips any invalid sequence

关于linux - 如何从文本文件中删除非 UTF-8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12999651/

相关文章:

css - 如何使用 css 将带有圆 Angular 的彩色框中的文本居中

javascript - 仅使用文本偏移量在字符串中插入标签

linux - 限制对所有域的访问,但一个在系统/代理级别

java - csc -version 正在终端中运行,但不是从我的 java 程序 MAC 运行

php - 以 root 身份运行 php 脚本

Ruby - 查看端口是否打开

bash - Flask 应用程序 - 查询参数从请求参数中删除

linux - 全局描述符表(GTD)的现代用法是什么?

bash - 这里文档作为 bash 函数的参数

html - HTML5 语法中的 "Text"是否表示 "any character"?