精华内容
下载资源
问答
  • cd src find ./ -type f -name "*.h"|while read line;do echo $line iconv -f GB2312 -t UTF-8 $line > ${line}.utf8 mv $line ${line}.gb2312 mv ${line}.utf8 $line done
    cd src
    find ./ -type f -name "*.h"|while read line;do
    echo $line
    iconv -f GB2312 -t UTF-8 $line > ${line}.utf8
    mv $line ${line}.gb2312
    mv ${line}.utf8 $line
    done
    
    展开全文
  • linux 批量修改文件编码格式

    千次阅读 2015-05-04 10:12:56
    最近在网上下载了一套游戏的代码 用lua写的 用sublime text2 打开有乱码 查看后是编码不是utf-8 因此写了一个shell脚本 批量处理 转换为utf-8 安装enca可以查看编码格式 brew install enca enca file.srt enca -L...

    最近在网上下载了一套游戏的代码 用lua写的 用sublime text2 打开有乱码  查看后是编码不是utf-8 因此写了一个shell脚本 批量处理 转换为utf-8

     

    安装enca可以查看编码格式

     

     

    brew install enca
    enca file.srt
     
    enca -L 当前语言 文件名
    enca -L zh_CN file //检查文件的编码
     
    enca -L 当前语言 -x 目标编码 文件名
    enca -L zh_CN -x UTF-8 file //将文件编码转换为”UTF-8″编码
    enca -L zh_CN -x UTF-8 < file1 > file2 //如果不想覆盖原文件可以这样

     

     

     

    Mac安装Brew

    安装命令如下:

    curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1

    当brew安装成功后,就可以随意安装自己想要的软件了,例如enca,命令如下:

     

     

     

    sudo brew install enca


    卸载的话,命令如下:

     

     

     

     

    sudo brew uninstall enca


    查看安装软件的话,命令如下:

     

     

     

     

    sudo brew search /enca*/
     
    #!/bin/sh
     
    function encaFun() {
            filelist=`ls $1`
            for file in $filelist; do
                resultPath="$1"/"$file"
                if [ -d "$resultPath" ]; then
                    encaFun $resultPath
                else 
                    resultPath="$1"/"$file"
                    echo $resultPath
                    # enca -L zh_CN -x UTF-8 "$resultPath"
                    enca -L zh_CN "$resultPath"
                fi
            done
    }
    encaFun $1
     
    echo "All work finish down!"
    echo "--------------------------------------------------------------"

     

     

     

     

     

     

    展开全文
  • 背景 项目工程文件编码格式有utf-8,也有gb2312,在通过Source Insight 4.0打开文件只能设置一...为解决该问题,寻找批量文件编码格式转换工具(包括子目录)。 1.安装enca enca是Linux下的文件编码转换工具。 e...

    背景

    项目工程文件编码格式有utf-8,也有gb2312,在通过Source Insight 4.0打开文件只能设置一种默认编码格式UTF-8/Windows ANSI/GB2312,不能自动识别文件本身的编码格式,这就导致总有一部分文件打开后,注释是乱码,影响阅读和使用。

    为解决该问题,寻找批量文件编码格式转换工具(包括子目录)。

    1.安装enca

    enca是Linux下的文件编码转换工具。

    enca的安装请参考:
    https://blog.csdn.net/mayue_web/article/details/89384982

    查看是否安装enca:

    enca --version
    

    已安装,会显示enca版本,如下图:
    在这里插入图片描述
    未安装:
    在这里插入图片描述

    2.通过shell脚本批量修改编码格式

    安装enca后,通过 enca -x utf-8 * 可将本目录下所有文件编码格式修改为utf-8格式,但是它不能遍历子文件夹,故要跟find命令配合。
    在这里插入图片描述
    上面这段代码可以搜索当前目录下及所有子目录的cpp和h格式的文件。

    utf-8编码格式的转换脚本如下:
    在这里插入图片描述

    cli="find . -type f \( "
    for arg in ${@:1:$#-1}
    do
    	cli="$cli -iname \*.$arg -o "
    done
    cli="$cli -iname \*.${@: -1} \)"
    #echo $cli
    PRE_IFS=$IFS
    IFS=$'\n'
    for i in `eval $cli`
    do
    	enca -x utf-8 $i
    done
    IFS=$PRE_IFS
    echo "ok!"
    

    通过chmod赋予toUTF8.sh运行权限,然后把它拷贝进~/bin 文件夹中,这样这条命令就在环境变量里了,可以随处使用。

    chmod 777 toUTF8.sh
    

    若需修改编码格式为其他格式,只需替换utf-8即可,可选项有GB2312,

    3.脚本使用示范

    使用示范:进入待处理文件夹的根目录,输入参数 cpp h c,即把根目录内所有cpp、h、c文件改成了utf-8字符集。脚本写成了可以接受指定文本格式的形式,这样比较灵活和通用。
    在这里插入图片描述
    好了文件统一转换为UTF-8编码格式了。

    此时通过Source Insight 4.0以utf-8为默认编码格式打开,则注释不在乱码;

    以后有遇到这种事,就能直接用它来处理就完事了。

    4.enca查看文件编码格式

    enca `ls`
    

    在这里插入图片描述

    参考资料:
    https://blog.csdn.net/rush_mj/article/details/79705355
    https://blog.csdn.net/gatieme/article/details/55045883

    展开全文
  • Linux批量修改文件编码
  • 查看文件编码Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你...

    查看文件编码
    Linux中查看文件编码可以通过以下几种方式:
    1.在Vim中可以直接查看文件编码
    :set fileencoding
    即可显示文件编码格式。
    如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
    ~/.vimrc 文件中添加以下内容:

    set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

    这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
    2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码
    $ enca filename
    filename: Universal transformation format 8 bits; UTF-8
    CRLF line terminators
    需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:
    Unrecognized encoding

    文件编码转换
    1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
    :set fileencoding=utf-8

    2. enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
    enconv -L zh_CN -x UTF-8 filename

    3. iconv 转换,iconv的命令格式如下:
    iconv -f encoding -t encoding inputfile
    比如将一个UTF-8 编码的文件转换成GBK编码
    iconv -f UTF-8 -t GBK file1 -o file2

    查看文件编码file命令
    file ip.txt  ip.txt: UTF-8 Unicode text, with escape sequences
    一、利用iconv命令进行编码转换文件内容编码转换  iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。  用法: iconv [选项...] [文件...]  有如下选项可用:  输入/输出格式规范:  -f, --from-code=名称 原始文本编码  -t, --to-code=名称 输出编码  信息:  -l, --list 列举所有已知的字符集    输出控制:  -c 从输出中忽略无效的字符  -o, --output=FILE 输出文件  -s, --silent 关闭警告  --verbose 打印进度信息  -?, --help 给出该系统求助列表  --usage 给出简要的用法信息  -V, --version 打印程序版本号    例子:  iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt  这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。
    二、文件名编码转换
    因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容可以用iconv来转换可是好多中文的文件名还是乱码,找到个可以转换文件名编码的命令,就是convmv。
    convmv命令详细参数  例如
    convmv -f GBK -t UTF-8 *.mp3
    不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest
    convmv -f GBK -t UTF-8 --notest *.mp3
    -f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。
    * 需要安装 convmv-1.10-1.el5.noarch.rpm  
    三、  更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,而且还支持成批转换。    
    1.安装    
    yum install enca-devel-1.10-1.el6.rf.x86_64.rpm
    yum install enca-1.10-1.el6.rf.x86_64.rpm 
    2.查看当前文件编码    
    enca -L zh_CN ip.txt     
    Simplified Chinese National Standard; GB2312     
    Surrounded by/intermixed with non-text data    
    3.转换    命令格式如下    
    $enca -L 当前语言 -x 目标编码 文件名    
    例如要把当前目录下的所有文件都转成utf-8    
    enca -L zh_CN -x utf-8 *     
    检查文件的编码 
    enca -L zh_CN file   
    将文件编码转换为"UTF-8"编码  
    enca -L zh_CN -x UTF-8 file
    如果不想覆盖原文件可以这样         
    enca -L zh_CN -x UTF-8 < file1 > file2 

    场景1:查找一个文件夹中所有.h或者.cpp的文件,并使用enca工具批量转换文件格式

    ls 

    ls | grep -E '.*\.(cpp|h)'

    find

    find . -regextype posix-egrep -regex ".*\.(cpp|h)"

    find命令重定向到文件

    find  ./ -regextype posix-egrep -regex  ".*\.(h|cpp)" | cat $1 |  sort | grep -v svn >  files.list

    创建脚本

    vim enca_list.sh

    #!/bin/sh
    cat $1 | while read LINE
    do
    echo $LINE
    #enca $LINE
    enca -L zh_CN -x utf-8 $LINE
    #enca $LINE
    done
    

     赋予执行权限

    chmod +x enca_list.sh

    在当前文件夹中执行

    ./enca_list.sh files.list

     



    转载于:https://www.cnblogs.com/BinBinStory/p/7198417.html

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 2.文件的数量有点多,常用修改编码的iconv命令进行批量修改。3.编写脚本批量修改 一、 场景: 网站迁移,原网站在windwos系统的网站空间上,现需要迁移到云主机的linux系统中。 众所周知,windwos存储文件的格式...
  • iconv是linux系统命令,用于转换文件编码。当中文文件需要从gbk编码转为utf-8编码时,使用该命令能够快速的转换编码。 使用如下: iconv -f 原编码 -t 新编码 originfile -o newfile 利用bash脚本实现某个文件夹下...
  • 在将windows上的jsp网页移植到linux环境中时,发现一个个的转换编码修改默认编码类型太慢,写此脚本进行尝试文件遍历~ 好久不写,手生了。 代码如下: #!/bin/bash # # SPATH=”/root/chengji/WebRoot” DPATH=”/...
  • 刚才在论坛上看见有人把项目从windows移植到unix上,因为编码不同导致的乱码问题,居然要一个个的去手工修改,非常的震惊以及无语。本人经历的各种各样的乱码问题,解决过程中也积累了一些经验,加上windwos往unix/...
  • 一堆的文件编码都是ANSI的,本来想用linux shell批量修改文件编码,却不太熟悉,写了个PHP脚本批量修改html文件的编码 代码如下 复制代码 //1.遍历出所有html文件$dir = './jquery/jquery/'; //文件目录、$move_to =...
  • 经常碰到文件编码格式不一致导致一堆问题,想在linux批量修改文件夹下的文件编码,操作太麻烦,花了一点时间写了个java程序来操作,用着非常方便,详情如下: 在FileEncodeTranslate类中,修改一下源文件夹路径,...
  • 1 修改文件属性的编码(文件内容中的编码自己改) for i in `find . -name "*.java"`; do iconv -f gb2312 -t utf-8 $i -o $i.new; done 2 如果是maven则还要执行下边的命令:例如我们...
  • 由于windows下默认文件编码为gbk或者是gb2312,所以将windows下面的文件移到linux下时,常常会出现乱码的现象。 参考链接中的博客,使用enca工具可以进行文件编码的查看。 ubuntu下的安装命令: sudo apt-get...
  • 在将windows上的jsp网页移植到linux环境中时,发现一个个的转换编码修改默认编码类型太慢,写此脚本进行尝试文件遍历~好久不写,手生了。复制代码 代码如下:#!/bin/bash##SPATH="/root/chengji/WebRoot"DPATH="/...
  • vim中查看、设置文件编码 :set fileencoding 通过enca命令查看、修改文件编码 //查看文件编码 enca -L zh_CN file //修改文件编码 enca -L zh_CN -x UTF-8 < file > result_file批量修改文件编码
  • 文件后缀名修改 ...Linux文件名编码批量转换 convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 --notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。
  • 一例批量转换目录下文件编码的shell脚本代码。 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8。 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不...
  • 批量转换编码

    2017-07-04 16:18:14
    每次将windows里的程序拷到Linux里都得大费一番周折修改编码,其实这个脚本我已经写了不止一次了,只是每次写完都忘了放哪,加上换工作,老得重新写。这次还不小心把文件系统搞出毛病了~长点记性,好不容易调好了,...
  • 我们的思路是,设定一个文件夹存放源视频文件,python读取该文件夹下的全部文件,并对文件通过ffmpeg进行分析,根据需要,修改目标文件编码、分辨率等等,调用ffmpeg转换。 我这次的需求是,我家液晶电视只支持...
  • 缺点:不支持多线程 密码必须正确切可连通 端口硬编码为22 如果不是22 请自行修改执行过程: 执行ssh.py root root 会自动登录ssh,上传本地文件目录下的1.py文件linux服务器tmp目录,执行/tmp/1.py文件,删除/tm...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

linux批量修改文件编码

linux 订阅