linux shell文件转码iconv命令的使用

目录
  • 例子
  • 目的
  • 语法
  • 描述
  • Flags
  • 退出状态

例子

从文件中读写:

iconv -f UTF-8 -t ASCII//TRANSLIT -o out.txt in.txt
iconv -f sjis -t UTF-8 infile > outfile

搜索了谷歌,发现了如下信息:

iconv -f US-ASCII -t UTF-8 infile > outfile

ASCII是UTF-8的子集,所以所有的ASCII文件都是UTF-8编码的。ASCII文件中的字节和“将其编码为UTF-8”所产生的字节将是完全相同的字节。它们之间没有区别。

Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' > deleteme
Tims-MacBook-Pro:~ tjohns$ cat deleteme
Stuff
Tims-MacBook-Pro:~ tjohns$ file -I deleteme
deleteme: text/plain; charset=us-ascii
Tims-MacBook-Pro:~ tjohns$ echo -ne '\xEF\xBB\xBF' > deleteme
Tims-MacBook-Pro:~ tjohns$ echo 'Stuff' >> deleteme
Tims-MacBook-Pro:~ tjohns$ cat deleteme
Stuff
Tims-MacBook-Pro:~ tjohns$ file -I deleteme
deleteme: text/plain; charset=utf-8

打印所有字符集编码的列表:

iconv -l

目的

将字符的编码从一个编码页编码方案转换为另一个编码页编码方案。

语法

iconv [-cs] -f FromCode -t ToCode [ FileName… ]
iconv -l

描述

iconv命令将从标准输入或指定文件读取的字符编码从一个编码字符集转换为另一个编码字符集,然后将结果写入标准输出。输入和输出编码的字符集由FromCode和ToCode参数标识。输入数据应该由FromCode参数指定的代码集中的字符组成。如果在命令行上没有指定FileName参数,则iconv命令从标准输入读取。

该命令可通过SMIT SMIT iconv快速路径执行。iconv命令使用LOCPATH环境变量来搜索格式为iconv/FromCodeSet_ToCodeSet的代码集转换器。“LOCPATH”的默认值为“/usr/lib/ nlls /loc”。

Flags

项目 描述
-c 从输出中省略输入文件中不能转换的字符。不能被转换的字符包括在输入的FromCode中无效的字符,或者在输出的ToCode中没有对应的字符。省略不可转换字符后,iconv向前移动到输入的下一个字节以转换下一个字符。如果-c未被使用,则iconv在遇到输入中不能转换的字符时退出。-c的存在或不存在并不影响iconv的退出状态。
-f FromCode 指定用于对输入数据进行编码的代码集。-f标志和FromCode参数之间的空格是可选的。
-l 将所有支持的FromCode和ToCode值写入标准输出。
-s 禁止向标准错误写入与无效字符有关的任何消息。当不使用-s时,每个不可转换或被截断的字符都会被写入标准错误。是否使用-s并不影响iconv的退出状态。
-t ToCode 指定要将输出数据转换为的代码集。-t标志和ToCode参数之间的空格是可选的。
FileName 指定要转换的文件。

退出状态

该命令返回以下退出值:

项目 描述
0 成功转换输入数据。
1 不支持指定的转换;给定的输入文件不能被打开读取;或者存在用法语法错误。
2 在输入流中遇到一个不可用的字符。

到此这篇关于linux shell文件转码iconv命令的使用的文章就介绍到这了,更多相关shell iconv命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用iconv批量改变文件编码的shell脚本

    这篇文章主要介绍了编写shell脚本,使用iconv批量改变文件编码的脚本代码,需要的朋友可以参考下. 用法示例: cd ~/workspace/XXXProject ~/iconv_shell.sh ./ *java 好了,直接上代码~~ #!/bin/bash if [ "$#" != "2" ]; then echo "Usage: `basename $0` dir filter" exit fi dir=$1 filter=$2 ech

  • shell脚本中使用iconv实现批量文件转码的代码分享

    在开发中,我们经常需要对N多文件编码进行更改,iconv只能对单文件的进行更改,怎么办呢?我们写一个shell脚本来解决这个问题. 例子一:使用shell脚本实现批量转码的操作. #!/bin/sh # convertCodeFilePath=$1 fromCode=$2 toCode=$3 for i in {1..1} do [ -f $convertCodeFilePath ] if [ $? -eq 0 ] then iconv -f $fromCode -t $toCode -c -o

  • linux shell文件转码iconv命令的使用

    目录 例子 目的 语法 描述 Flags 退出状态 例子 从文件中读写: iconv -f UTF-8 -t ASCII//TRANSLIT -o out.txt in.txt iconv -f sjis -t UTF-8 infile > outfile 搜索了谷歌,发现了如下信息: iconv -f US-ASCII -t UTF-8 infile > outfile ASCII是UTF-8的子集,所以所有的ASCII文件都是UTF-8编码的.ASCII文件中的字节和“将其编码为UTF-8

  • Linux本机与服务器文件互传及Linux服务器文件上传下载命令写法

    一.Linux下文件互传,scp命令实例 1.Linux下目录复制:本机->远程服务器 scp -r /home/abc/test1 root@192.168.0.1:/home/bcd/test2 (本机目录路径 远程机用户名@IP:/目录) 2.Linux下目录复制:远程服务器->本机 scp -r root@192.168.0.1:/home/bcd/test2 /home/abc/test1 (远程机用户名@IP:/目录 本机目录路径) 3.Linux下文件复制:远程服务器->本

  • Linux shell常用的73条命令总结

    前言 使用Linux shell是一些程序员每天的基本工作,但我们经常会忘记一些有用的shell命令和技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件.下面话不多说了,来看看详细的内容吧. 检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 让进程转入后台: Ctrl + z 将进程转到前台: fg 产生随机的十六进

  • Linux shell进行文件解压,复制和移动详解

    目录 将文件单个地进行压缩与解压 tar:打包命令 文件拷贝 文件移动 Linux下进行文件的解压.复制.移动应该是最常见的操作了.尤其是我们在项目中使用大量的数据集文件(比如机器学习)时.然而使用这些命令时一不留神就会掉进坑里,这篇文章我们就来细数用Shell进行文件操作的这些坑. 将文件单个地进行压缩与解压 Linux下压缩文件的常见扩展名包括.gz,.tar,.tar.gz, .zip等.这些压缩格式都能够跨平台(Windows/Mac/Linux)使用.下面我们以.zip文件为例子来讲解

  • linux传输文件命令 rz 和 sz详解

    一. 概述 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 优点就是不用再开一个sftp工具登录上去上传下载文件. Zmodem协议是针对modem的一种错误校验协议.利用Zmodem协议,可以在modem上发送512字节的数据块.如果某个数据块发生错误,接受端会发送"否认"应答,因此,数据块就会被重传.它是Xmodem 文件传输协议的一种增强形式,不仅能传输更大的数据,而且错误率更小.包含一种名为检查点重启的特性,如果通信链接在数据传输过程中中

  • python文件读写操作与linux shell变量命令交互执行的方法

    本文实例讲述了python文件读写操作与linux shell变量命令交互执行的方法.分享给大家供大家参考.具体如下: python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼. 代码如下: 复制代码 代码如下: #coding=utf-8 #!/usr/bin/python import os import time #python执行linux命令 os.system(':>./aa.py') #人机交互输入 S = raw_input("

  • Linux shell ftp命令根据文件日期下载文件的方法

    需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep  8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d

  • 开发者常用及实用Linux Shell命令备忘录(小结)

    最近都需要在 Linux 系统下开发,所以经常需要在终端中进行操作.Linux 有很多 shell 命令可以帮助我们完成任务,但不常使用的话就会忘记掉. 本篇作为命令备忘录,我会将实际工作当中用到的命令记录下来,并长期保持更新. 1.which which 用于查找一个文件,并返回绝对路径,查找的目录范围由系统的 PATH 指定. 由于 Linux 中一切皆文件,所以 which 指定更多的是查找系统中有没有这个命令. 比如,查找 ls 命令,我们可知它的可执行文件的位置 which ls /b

  • Linux中文件的五个查找命令总结

    Linux的查找命令有5个,分别如下: which:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果: type:用于区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的.如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令.type命令其实不能算查找命令: whereis:只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s): locate:相当于find

  • Linux shell下30个有趣的命令和提示(推荐)

    这些是我收集了多年的Linux shell的30个有趣的命令和提示. 1. 监控命令(每2秒运行一次) watch "ls -larth" 2. 使用一个端口杀死程序 sudo fuser -k 8000/tcp 3. 限制以下命令的内存使用 ulimit -Sv 1000 # 1000 KBs = 1 MB ulimit -Sv unlimited # Remove limit 4. 使用正则表达式重命名所选文件 rename 's/\.bak$/.txt/' *.bak 5. 获得

随机推荐