批量更改文件编码格式 utf8到gb2312

一.查看文件编码

  file name;//可以显现文件的编码格式(有的系统不可以)

二.文件编码转换

  使用iconv转换,

  iconv -f encoding -t encoding inputfile;

例如:iconv -f utf-8 -t gb2312 file1;

用法:iconv [选项..]  [文件]

-f, 原始编码

-t,输出编码

信息:

-l,---list 列举系统所有安装的已知字符集

输出控制:

-c 从输出中忽略无效的字符

-o ---output  输出文件

实例:遍历目录下的所有文件,改变utf8编码到gb2312

for i in `find ./ -type f -name ‘*.txt‘`;

do

echo $i

echo ${i}.tmp

iconv -f utf-8 -t gb2312 $i>${i}.tmp

mv ${i}.tmp $i;

done

问题记录:

iconv转换失败,脚本主机没有暗转gb2312编码,只有gbk,导致一开始转化老是失败。

转载1:

  1. #!/bin/bash
  2. #1.变量定义
  3. directory="/home/wzy/Downloads/execl"
  4. f_encoding="utf-8"
  5. t_encoding="gbk"
  6. #2.遍历子目录
  7. for dir in `ls $directory`
  8. do
  9. if [ -d $directory/$dir ]
  10. then
  11. #3.遍历子目录的文件
  12. for file in `ls $directory/$dir`
  13. do
  14. if [ -e $directory/$dir/$file ]
  15. then
  16. #4.文件类型转换
  17. iconv -f $f_encoding -t $t_encoding $directory/$dir/$file -o $directory/$dir/iconv.$file
  18. #5.删除原始文件
  19. if [ $? -eq 0 ]
  20. then
  21. rm $directory/$dir/$file
  22. fi
  23. fi
  24. done
  25. fi
  26. done
时间: 2024-10-12 22:58:19

批量更改文件编码格式 utf8到gb2312的相关文章

ubuntu下,批量更改文件后缀

ubuntu下,批量更改文件后缀: eg:把当前目录下以tpl为后缀的文件全部rename为html a.tpl  b.tpl  c.tpl 执行命令:   rename 's/\.tpl/.html/' *.tpl a.html  b.html  c.html

利用 Python 进行批量更改文件后缀

利用 Python 进行批量更改文件后缀 代码 import os files = os.listdir('.') for file_name in files: portion = os.path.splitext(file_name) if portion[1] == ".jpg": new_name = portion[0] + ".gif" os.rename(file_name, new_name) 以上代码为将后缀为 "jpg" 的文

多线程批量转换文件编码, 从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. 支持控制台显示线

java实现 批量转换文件编码格式为UTF8

需要注意点: 建议转换前备份,如果有的项目原本就是UTF-8,执行完成后就会乱码 补救办法是:把项目从UTF-8转换成GBK,不乱码了,但是有后遗症,虽然大部分都救回来了,但是不知道某个字符就变成?了 1.首先需要引用java工具包hutool,官网 https://hutool.cn/ <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> &l

shell 批量更改文件或目录名

批量更改文件名: 1.在多个文件后面添加.bak或者其他有规律的字符 ls  |xargs -n1 -i{} mv {} {}.bak 或者 find ./*.txt -exec mv {} {}_bak \; 2.通用的批量更改脚本 #!/bin/bash read -p "old extension:" oldext read -p "new extension:" newext read -p "The directory:" dir cd

用windows的批处理文件批量更改文件后缀

[转自]http://jingyan.baidu.com/article/e9fb46e196ea187521f7661a.html  无需软件批量修改文件后缀名?怎么通过命令行批量修改文件后缀名?有时候由于文件后缀名格式不同,有的时候我们需要对文件扩展名进行修改,或者文件扩展名丢失,需要添加.如果数量少的文件那还简单直接修改就好了.如果很多怎么办呢?下面小编告诉您一个不需要安装软件也能操作的办法 通过批处理文件来实现批量修改文件后缀名,也可以批量添加文件扩展名呢. 工具/原料 记事本 电脑 一

批量更改文件夹名字方法

利用DOS命令和EXCEL可以完成补充:假设你的EXCEL工作表为sheet1,先点击开始菜单中的“运行”,输入“CMD”,定位到存放图片的文件夹,再输入DIR *.JPG /B >TMP.BAT,这时文件夹里回生成一个TMP的BAT文件,右键单击,选择“编辑”,全选里面的内容,粘贴到sheet2的A1单元格,EXCEL会自动往下分行粘贴,在B2单元格输入=vlookup(A1,Sheet1!A:B,2,0)回车,往下填充,这时sheet2的B列就会对应每个考试号填充上身份证号,在C1中输入=&qu

Linux批量更改文件后缀名

内容来源于:https://www.cnblogs.com/nkwy2012/p/6362207.html 一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/' ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename .c .h *.c 把当前目录下的后缀名为.c的文件更改为.h的文件 二.shell 脚本解决 #!/bin/bash #http://blog.csdn.NET/longxibendi find

Source Insight完美转换UTF-8 到 GB2312

前言 很多人用source insight 打开某些源码文件时,汉字显示为一堆乱码.这个问题是因为编码方式不同.记事本和一些编辑器默认编码方式是ANSI,在这种方式下输入汉字,其实就是GB系列的编码方式.不幸的是,广收欢迎的代码查看工具Source insight 虽然支持汉字,但是它不支持UTF-8.笔者感到疑惑的是,当初开发source insight的这帮人现在哪里去了?这么好的工具,却不再更新了,实在让人可惜. 可惜归可惜,程序还是要看.乱码怎么办?用记事本打开源代码逐个转换的笨方法虽然