首页 > 系统相关 >[换帖]Linux命令之iconv命令

[换帖]Linux命令之iconv命令

时间:2023-02-10 13:58:43浏览次数:64  
标签:tmp iconv WINDOWS 2000 命令 换帖 s145 csv

一、命令简介

  日常工作中我们需要将windows生成的文件上传到Linux系统,有时候会因为编码问题出现显示乱码。例如我上传了一个csv文件到Linux服务器上,默认编码为GB2312,在Linux打开则会出现乱码,我们需要将文件进行编码转换。iconv命令对于给定文件把它的内容从一种编码转换成另一种编码。

二、使用示例

1、查看命令版本

[root@s145 tmp]# iconv -V
iconv (GNU libc) 2.17
Copyright © 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Ulrich Drepper.

2、获取命令帮助

[root@s145 tmp]# iconv --help

3、获取帮助简讯

[root@s145 tmp]# iconv --usage
Usage: iconv [-lcs?V] [-f NAME] [-t NAME] [-o FILE] [–from-code=NAME]
[–to-code=NAME] [–list] [–output=FILE] [–silent] [–verbose]
[–help] [–usage] [–version] [FILE…]

4、查看支持的编码

#支持的编码格式非常多,有上千种。
[root@s145 tmp]# iconv -l
The following list contain all the coded character sets known. This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters. One coded character set can be
listed with several different names (aliases).

WINDOWS-31J, WINDOWS-874, WINDOWS-936, WINDOWS-1250, WINDOWS-1251,
WINDOWS-1252, WINDOWS-1253, WINDOWS-1254, WINDOWS-1255, WINDOWS-1256,
WINDOWS-1257, WINDOWS-1258, WINSAMI2, WS2, YU

5、将GBK文件转换为UTF-8文件

#可以使用>重定向将转换结果输入到新文件,文件名不能与原文件相同。
[root@s145 tmp]# cat B.csv
,Ա,5,6,7,8,9,ʱ
1,1,ID0025,A41,A51,A61,A71,A81,A91,2000/2/8
2,2,ID0026,A42,A52,A62,A72,A82,A92,2000/2/9
3,3,ID0027,A43,A53,A63,A73,A83,A93,2000/2/10
4,4,ID0028,A44,A54,A64,A74,A84,A94,2000/2/11
5,5,ID0029,A45,A55,A65,A75,A85,A95,2000/2/12
6,6,ID0030,A46,A56,A66,A76,A86,A96,2000/2/13
7,7,ID0031,A47,A57,A67,A77,A87,A97,2000/2/14
8,8,ID0032,A48,A58,A68,A78,A88,A98,2000/2/15
9,9,ID0033,A49,A59,A69,A79,A89,A99,2000/2/16
10,10,ID0034,A50,A60,A70,A80,A90,A100,2000/2/17
11,11,ID0035,A51,A61,A71,A81,A91,A101,2000/2/18
12,12,ID0036,A52,A62,A72,A82,A92,A102,2000/2/19
13,13,ID0037,A53,A63,A73,A83,A93,A103,2000/2/20
[root@s145 tmp]# file B.csv
B.csv: ISO-8859 text, with CRLF line terminators
[root@s145 tmp]# iconv -f GBK -t UTF-8 B.csv > b.csv
[root@s145 tmp]# cat b.csv
序号,姓名,员工编号,信息4,信息5,信息6,信息7,信息8,信息9,入职时间
1,张三1,ID0025,A41,A51,A61,A71,A81,A91,2000/2/8
2,张三2,ID0026,A42,A52,A62,A72,A82,A92,2000/2/9
3,张三3,ID0027,A43,A53,A63,A73,A83,A93,2000/2/10
4,张三4,ID0028,A44,A54,A64,A74,A84,A94,2000/2/11

在这里插入图片描述

6、将UTF-8文件转换为GBK文件

#默认输出到屏幕,使用-o可以输出到指定文件。可以使用-o将输出转换到新文件,文件名可以与原文件一致。ISO-8859对应GBK,如果-f后面使用ISO-8859会报错文件格式不支持。
[root@s145 tmp]# file b.csv
b.csv: UTF-8 Unicode text, with CRLF line terminators
[root@s145 tmp]# iconv -f UTF-8 -t GBK b.csv -o b.csv
[root@s145 tmp]# file b.csv
b.csv: ISO-8859 text, with CRLF line terminators

7、浏览网站时实时编码转换

在这里插入图片描述
在这里插入图片描述

三、使用语法及参数说明

1、使用语法

用法:iconv [OPTION…] [FILE…]

2、参数说明

参数参数说明
-f, --from-code=NAME指定输入文件编码,把字符从encoding编码开始转换。
-t, --to-code=NAME指定输出文件编码,把字符转换到encoding编码。
-l, --list列出已知的编码字符集合
-c忽略输出的非法字符
-o, --output=FILE指定输出文件
-s, --silent禁止警告信息,但不是错误信息
–verbose显示进度信息
-?, --help显示帮助信息
–usage显示简单使用信息
-V, --version打印版本信息
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux进阶新增用户26354 人正在系统学习中

标签:tmp,iconv,WINDOWS,2000,命令,换帖,s145,csv
From: https://www.cnblogs.com/jinanxiaolaohu/p/17108615.html

相关文章

  • Linux-常用基本命令(一)
    常用基本命令帮助命令man获得帮助信息1)基本语法man[命令或配置文件](功能描述:获取帮助信息)2)显示说明信息功能NAME命令的名称和单行描述SYNOPSIS......
  • docker安装与命令
    转自:https://blog.csdn.net/qq_60750453/article/details/128312453守护进程重启:systemctldaemon-reload重启Docker服务:systemctlrestartdocker/servicedockerre......
  • docker容器磁盘空间查看命令和清理删除没有使用容器的命令和方法
    【问题描述】在服务器上面启动MQTT服务的时候,一直失败,之前是可以正常启动成功的。  【原因描述】开始以为是服务本地的问题或者是依赖包的问题,但是该安装包并没有......
  • Linux命令大全,赶紧收藏!
    新的一年新的征程新的课程开班等你来学!本文为Linux命令大全,从A到Z都有总结,建议大家收藏以便查用,或者查漏补缺!A命令描述access用于检查调用程序是否可以访问指定的文件,用于检......
  • redis-命令操作-String&hash,list,set&sortedset,通用命令
    redis-命令操作-String&hashString类型存储:setkeyvalue获取:getkey删除:delkey   Hash类型存储:hsetkeyfieldvalue  获取:hgetkeyfield:获取指......
  • redis命令操作
    redis命令操作——list列表类型list:可以添加一个元素到列表的头部(左边)或者尾部(右边)添加:1、lpushkeyvalue:将元素加入列表左边2、rpushkeyvalu......
  • Linux常用命令-权限相关
    Linux权限简单点说就是:谁拥有文件/文件夹的什么权限。首先说一下基本概念:Linux里面文件权限身份有三种:owner、group、others,分别表示文件所属者,文件所属用户组,其他用户。......
  • [转]Windows 批处理命令教程
    第一章批处理基础第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些......
  • Linux 命令大全:2万字实现Linux自由
    文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面......
  • Ansible的部署和命令模板
    一、ansible的概述1、ansible简介Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们......