【linux】文件与目录命令 - iconv
文章目录
- 1. 基本用法
- 2. 常用参数
- 3. 用法举例
- 4. 注意事项
iconv 命令用于转换文件的字符编码格式。
1. 基本用法
- 语法:
iconv -f <源编码> -t <目标编码> [输入文件] -o [输出文件]
-
功能:
- 支持多种字符编码之间的转换(如
UTF-8
、GBK
、ISO-8859-1
)。 - 可用于批量处理文本文件编码转换,确保不同系统之间的兼容性。
- 避免乱码问题,尤其在不同语言环境或系统之间传输数据时。
- 支持多种字符编码之间的转换(如
-
此命令是否系统自带:系统默认自带,无需额外安装。
2. 常用参数
-f <编码>
:指定源文件的字符编码(如GBK
、UTF-8
)。-t <编码>
:指定转换后的字符编码(如UTF-8
、ISO-8859-1
)。-o <文件>
:指定输出文件,如果不指定,则默认输出到终端。-l
:列出所有支持的字符编码。
3. 用法举例
-
将
GBK
编码的文件转换为UTF-8
:iconv -f GBK -t UTF-8 input.txt -o output.txt
-
将
ISO-8859-1
编码的文件转换为UTF-8
并输出到终端:iconv -f ISO-8859-1 -t UTF-8 input.txt
-
列出
iconv
支持的字符编码:iconv -l
-
批量转换多个
GBK
编码的.txt
文件为UTF-8
:for file in *.txt; do iconv -f GBK -t UTF-8 "$file" -o "utf8_$file"; done
4. 注意事项
- 确保源文件编码正确,否则可能会报
Illegal input sequence
错误。 - 如果不确定文件编码,可使用
file -i 文件名
查看,或尝试enca
工具检测编码。 - 转换前建议备份原文件,避免转换错误导致数据损坏。
- 部分编码转换可能导致信息丢失(如
UTF-8
转ASCII
时可能丢失非 ASCII 字符)。