Linux recode 命令 - 文本字符集编码转换工具
• 最后修改:2025-08-31 • 阅读量:137
recode
命令是 Linux / FreeBSD 系统中用于处理字符集转换的工具。它支持几乎全部的字符编码形式,能够对多种格式的文档进行处理。
本教程将全面的介绍 recode
命令的功能,以方便你能够方便的运行 recode
命令解决你的问题。
recode 命令的释义
recode ( re code 重新编码 ) 命令的作用是把一种以字符编码转为另一种字符编码,主要功能特点有:
- 支持多种格式的文本:支持文本文件、HTML、XML 等类型的文本
- 支持超多种编码:支持 200+字符集(包括 UTF-8 等)
recode 命令的语法结构
recode
命令的具体语法结构如下所示:
recode [OPTION]... [CHARSET-SEQUENCE] FILE...
recode [OPTION]... INPUT-CHARSET..OUTPUT-CHARSET FILE
语法结构解释说明:
CHARSET-SEQUENCE
:多种字符集转换的顺序(多个字符集用..
连接)INPUT-CHARSET..OUTPUT-CHARSET
:指定输入输出字符集FILE
:目标文件(可以输入多个文件/也可以使用通配符匹配文件)OPTION
:转换字符集时使用的选项
常用的编码及其格式文本的说明:
- 常用的文本编码:
latin1
,utf8
,gbk
- 各个系统对应的换行符:
unix
(LF),dos
(CRLF),mac
(CR) - 文本格式说明:
html
(HTML实体),b64
(Base64)
recode 命令使用示例
1. ISO-8859 转换为 UTF-8 格式
字符编码 ISO-8859 对应的编码名称为 latin1
,如下示例为把document.txt文件的编码从ISO-8859 转换为 UTF-8 格式:
recode latin1..utf8 document.txt
注意:建议配合 -b
选项一起使用,这样可以备份原文件
2. 把 HTML 实体符号转换为 UTF-8
在 HTML 中有些字符有着特定的字符编码形式如空格( ):
recode html..utf8 < input.html > output.txt
3. 批量转换文件
可以使用 *
通配符匹配多个文件,这样可以一次性转换多个文件:
recode -v latin1..utf8/dos *.csv
解释说明:
.utf8/dos
的意思是使用 UTF-8 编码,使用 dos 系统中默认的换行符作为转换后的换行符
4. 备份转换并忽略无效字符
使用 -b
选项转换文件时会创建文件的副本,使用 -d
选项把字符串转换后无对应字符的替换为 ?:
recode -d -b utf8..ascii important.log
recode 命令选项详解
如下给出 recode 命令选项的详细解释说明(包含选项及其对应的长选项形式):
短选项 | 长选项 | 说明 |
---|---|---|
-v |
--verbose |
详细模式:显示转换过程信息 |
-q |
--quiet |
静默模式:抑制警告信息 |
-d |
--diacritics |
忽略无效字符:将无法转换的字符替换为 ? |
-f |
--force |
强制覆盖:不提示直接覆盖输出文件 |
-b |
--backup |
创建备份:转换前备份原始文件(扩展名 .~rec~) |
-l |
--list |
列出支持字符集:显示所有可用编码格式 |
-s |
--sequence |
顺序处理:严格按序列顺序执行转换 |
-t |
--test |
测试模式:模拟转换并显示统计信息 |
-h |
--help |
显示帮助文档 |
-V |
--version |
显示版本信息 |
系统安装指南
recode 命令在大多数的系统中默认是没有安装,如果在你的系统中已经安装可以直接使用,如果没有安装,可以使用如下的命令在对应的系统中安装 recode 命令。
Debian / Ubuntu
如下给出在 Debian / Ubuntu 系统中先更新软件源,再安装 recode 命令:
sudo apt update
sudo apt install recode
RHEL / AlmaLinux / Rocky Linux
如下给出在 RHEL / AlmaLinux / Rocky Linux 系统中先更新软件源,再安装 recode 命令:
# RHEL/CentOS 7
sudo yum install epel-release
sudo yum install recode
# RHEL 8+/AlmaLinux/Rocky Linux
sudo dnf install epel-release
sudo dnf install recode
FreeBSD
如下给出在 FreeBSD 系统中先更新软件源,再安装 recode 命令:
sudo pkg update
sudo pkg install recode
相似命令对比
命令 | 优势 | 局限性 |
---|---|---|
recode | 支持超过200多种类型的字符集/可处理多种类型的文件格式 | 学习曲线较为陡峭 |
iconv | 系统默认自带/功能相对简单,但是转换速度非常的快 | 仅支持基础类型的字符集 |
dos2unix | 主要是针对换行符之间的转换 | 不支持字符编码之间的转换 |
enca | 自动检测编码 | 检测准确率依赖语言模型 |
结语
本文全面的介绍了 recode
的语法结构及其功能,并给出了 recode
命令的具体使用示例,以及 recode
命令和其他命令之间的功能对比,相信你能够对 recode
命令有个基本的了解,并帮助你正确的使用 recode
命令转换文件的编码格式。 recode
命令可以在 Linux 各发行版和 FreeBSD 系统中使用,基本功能是相同的。