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

[换帖]Linux命令之iconv命令

时间:2023-05-21 11:02:17浏览次数:37  
标签: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

[换帖]Linux命令之iconv命令_ico

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、浏览网站时实时编码转换

[换帖]Linux命令之iconv命令_ico_02


[换帖]Linux命令之iconv命令_ico_03

三、使用语法及参数说明

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://blog.51cto.com/u_11529070/6318748

相关文章

  • AOSP编译成功后关闭终端emulator命令找不到
    当我们编译好AOSP系统源码后,可以通过emulator命令打开模拟器,但是当我们关闭终端后,在次打开终端输入emulator命令,提示未找到命令:此时我们需要重新执行下面语句sourcebuild/envsetup.shlunch#选择之前的选项emulator这样就可以正常使用模拟器了。......
  • git命令
    git命令1.常用命令gitclone+要拉取的代码地址gitpulloriginmaster同步主分支gitlog查看loggitinit构建本地仓库gitstatus查看仓库状态gitadd文件将修改的内容添加到暂存区gitcommit-m+修改日志将修改的内容提交到仓库gitpush推送到......
  • 【linux基础-03】Linux命令速查手册
    查看Linux系统信息arch#显示机器的处理器架构(1)uname-m#显示机器的处理器架构(2)uname-r#显示正在使用的内核版本dmidecode-q#显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda#罗列一个磁盘的架构特性hdparm-tT/dev/sda#在磁盘上执......
  • 【linux基础-02】vi命令
    一、Vi/Vim介绍VI(VisualInterface),是一个文本编辑器,主要在Unix及类Unix环境中使用。Vim(Viimproved)在Vi的基础之上进行了功能提升,相当于Vi的增强版。所有类Unix系统都会内建vi文本编辑器,就像window电脑上的记事本一样,可以对文本内容进行编辑,vi编辑器是U......
  • Linux命令行的输入输出重定向和管道:灵活处理数据的魔法工具
    概要:本文详细介绍了在Linux中使用输入重定向、输出重定向和管道的方法,以及它们在命令行操作中的实用性。通过适当的使用输入输出重定向和管道,我们可以灵活地处理命令的输入和输出,从而提高工作效率。文章通过丰富的示例说明了各种重定向和管道的用法,让读者能够轻松理解和应用这些功......
  • 6G显存玩转130亿参数大模型,仅需13行命令,RTX2060用户发来贺电
    前言 Meta的大语言模型LLaMA13B,现在用2060就能跑了~本文转载自量子位仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全栈指导班......
  • linux程序管理命令-apt
    1、介绍apt(AdvancedPackagingTool)是一个在Debian和Ubuntu中的Shell前端软件包管理器。apt命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。apt命令执行需要超级管理员权限(root)。apt命令晚于apt-get,两者基本可以通用,而目......
  • matlab如何通过命令查看主机相关信息
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • linux用户和组命令
    1、用户和组用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的......
  • linux程序管理命令
    1、yum命令1.1介绍yum,yellowdogupdatermodified是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。(在centos中,默认使用该工具而非apt)基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁......