linux 编码转换 任意编码转换 通用转换 当无法确认源编码时 一个批量转换脚本

转载请注明出处:http://www.cnblogs.com/blazer/p/7808639.html

一个比较通用的方法,将所有系统已有编码,都转换一遍,从结果中去筛选你需要的编码。

如果你执行: sh test.sh t1.csv,则会生成t1.csv.head.result文件,你需要从中去筛选需要的编码。

执行命令:

sh test.sh $fileName

脚本文件:

if [ "$1" == "" ];
then
    echo "Usage : sh shell \$fileName"
    echo "please input \$fileName"
    exit 0
fi

fileName=$1
head -n 1 $fileName > $fileName.head
for a in `iconv --list | sed ‘s/\/\/$//‘ | sort`; do
    iconv -f $a -t UTF-8 $fileName.head > /dev/null
    if [ "$?" == "0" ];
    then
        echo $a >> $fileName.head.result
        iconv -f $a -t UTF-8 $fileName.head >> $fileName.head.result
    fi
done

将内容保存到test.sh

时间: 2024-10-10 20:24:28

linux 编码转换 任意编码转换 通用转换 当无法确认源编码时 一个批量转换脚本的相关文章

一个批量转换jtl文件的shell

最近在项目中遇到了批量转换jmeter测试结果jtl的问题,整了一个脚本,记录如下: #bin/sh filelist=`ls jtl` # 将jtl目录的所有文件列表读取并存入变量 for file in $filelist #遍历处理各个文件 do #文件名形如 test2ad.jtl,获取.字符的位置 index=`expr index $file .` #.字符向前一位为有效字符 index=$index-1 #截取test2ad.jtl中的test2ad 存入csv变量 csv=${f

Linux下将UTF8编码批量转换成GB2312编码的方法

Linux下将UTF8编码批量转换成GB2312编码的方法 在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换成GB2312编码,下面为大家介绍下在Linux下如何进行转换 UTF8编码和GB2312编码是有区别的,在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换 成GB2312编码,可是一个个的转换十分麻烦,下面小编就教你如何在Linux下将UTF8编码批量转换成GB2312编码. 背景 本人在使用oracl

图片批量转换成pdf

生活中,大家经常会拍摄一些照片用来留念,然而时间长了,经常会因为照片多而杂乱而懒于翻看,那么你是否考虑做一个电子相册,或制作一本PDF格式的书籍来翻看呢?菜鸟的这款 JPG转换成PDF转换器,快又好,分享给大家. 网上大部分的PDF转换软件并不能有效完成JPG转PDF,有的甚至频繁地出现转换失败.识别不准确等问题,这直接影响了我们工作和学习的进度,因而在选择JPG转PDF转换器的问题上,很多用户都不知从何下手,其实,专业可靠的JPG转换PDF转换器应该如何选择,更需要深入地对PDF转换工具进行分

[Linux] 批量转换整个目录下的文件编码为UTF-8;

[Linux] 批量转换整个目录下的文件编码为UTF-8: #!/bin/bash - #===============================================================================# #          FILE: conv.sh#  #         USAGE: ./conv.sh #  #   DESCRIPTION: 一个支持把整个目录递归转换GB2312为UTF-8的脚本: #  #       OPTIONS: 

解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换

一.Qt环境设置 文件从window上传到Ubuntu后会显示乱码,原因是因为ubuntu环境设置默认是utf-8,Windows默认都是GBK.Windows环境下,Qt Creator,菜单->工具->选项->文本编辑器->行为->文件编码:默认编码:System(简体中文windows系统默认指的是GBK编码,即下拉框选项里的GBK/windows-936-2000/CP936/MS936/windows-936) 二.编码知识科普Qt常见的两种编码是:UTF-8和GB

多线程批量转换文件编码, 从GBK, GB2312编码转换到UTF-8编码(Python)

# coding=utf-8 # author:Jeffrey Ma # version:0.1 # build 2 # created on:2015年3月31日 # description: 1. 批量转换文件编码,从GBK GB2312编码转换到UTF-8编码 # 2. 支持指定目录下所有的文件的转换,包括子目录中的文件 # 3. 支持检测原始编码,对已经是UTF-8编码的文件,不做转换 # 4. 支持只转换指定扩展名的编码 # 5. 支持多线程转换和控制台输出 # 6. 支持控制台显示线

linux c 网络编程:用域名获取IP地址或者用IP获取域名 网络地址转换成整型 主机字符顺序与网络字节顺序的转换

用域名获取IP地址或者用IP获取域名 #include<stdio.h> #include<sys/socket.h> #include<netdb.h> int main(int argc,char **aggv) { struct hostent *host; char hostname[]="www.163.com"; char hostname2[]="www.baidu.com"; struct in_addr in;

【游戏开发】Excel表格批量转换成lua的转表工具

一.简介 在上篇博客<[游戏开发]Excel表格批量转换成CSV的小工具> 中,我们介绍了如何将策划提供的Excel表格转换为轻便的CSV文件供开发人员使用.实际在Unity开发中,很多游戏都是使用Lua语言进行开发的.如果要用Lua直接读取CSV文件的话,又要写个对应的CSV解析类,不方便的同时还会影响一些加载速度,牺牲游戏性能.因此我们可以直接将Excel表格转换为lua文件,这样就可以高效.方便地在Lua中使用策划配置的数据了.在本篇博客中,马三将会和大家一起,用C#语言实现一个Exce

iconv_open函数申请一个字符集转换的描述符

iconv_open函数 iconv_open函数 iconv_open——申请一个字符集转换的描述符 #include <iconv.h> iconv_t iconv_open(const char* tocode,const char* fromcode) 描述: iconv_open()函数申请一个转换描述符,转换字符序列从编码fromcode到编码tocode 转换描述符包含转换状态,调用iconv_open创建以后,转换状态处于初始状态,调用iconv函数以后改变转换描述符的转换状态