• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Shell脚本遍历目录并批量修改文件编码

    在将windows上的jsp网页移植到linux环境中时,发现一个个的转换编码及修改默认编码类型太慢,写此脚本进行尝试文件遍历~

    好久不写,手生了。

    复制代码 代码如下:

    #!/bin/bash
    #
    #
    SPATH="/root/chengji/WebRoot"
    DPATH="/web"
    # 函数开始部分
    CYCLING(){
      filelist=`ls -1 $SPATH`
    for filename in $filelist ; do
    if [ -f $filename ] ; then 
            echo Filename:$filename
            /usr/bin/iconv -f GBK -t UTF-8  $SPATH/$filename -o  $DPATH/$filename
            #cp -pv $SPATH/$filename  $DPATH/$filename 该句为前期便利效果测试
            sed  -i  -e  's/gb2312/UTF-8/g'  -e 's/GB2312/UTF-8/g'  $DPATH/$filename
        elif [ -d $filename ] ; then
            DPATH=$DPATH/$filename
            mkdir -pv $DPATH
            cd $filename
            SPATH=`pwd`
        # Next for recurse 如果遇到目录进行自我调用。。。实现深层遍历
            CYCLING
        # Next Usag: basename dirname
            DPATH=`dirname $DPATH`
            SPATH=`dirname $SPATH`
            cd $SPATH
    else
            echo "File $SPATH/$filename is not a common file.Please check."
        fi
      done
    }
     # 命令开始部分
    cd $SPATH
    CYCLING
    echo "All Done."

    当然,上面的代码由于使用了函数循环调用,显的很臃肿。下面来一种简单的方法,find一下:

    复制代码 代码如下:

    #/bin/bash
    #Auth: Mo
    #Desc:
    #
    SPATH="/root/chengji"
    DIR=WebRoot
    DPATH="/web"
     find ${DIR}   -type d  -exec mkdir -pv ${DPATH}/{}  \;   
     find ${DIR}  -type f -exec  iconv -f GBK -t UTF-8  {} -o  ${DPATH/{}  \; 
    echo "The file Next Listed is not a common file or directory ,please check."
    find  ${DIR}  ! -type f  -a  ! -type d -ecec  ls -l {} \; 
    find  $DPATH -type f -exec sed  -i  -e  's/gb2312/UTF-8/g'  -e 's/GB2312/UTF-8/g'  {} \;
    echo ' '
    echo "All Done."

    您可能感兴趣的文章:
    • shell脚本实现统计文件大小、批量创建用户的示例
    • Shell脚本之文件批量创建与修改的简单方法
    • Linux shell利用sed如何批量更改文件名详解
    • Shell脚本实现批量替换文件内容
    • 详解linux下批量替换文件内容的三种方法(perl,sed,shell)
    • Shell脚本批量修改文件后缀名代码分享
    • Shell脚本批量重命名文件后缀的3种实现
    • shell脚本中使用iconv实现批量文件转码的代码分享
    • shell批量创建文件并重新命名的实例代码
    上一篇:linux进程监控shell脚本代码
    下一篇:Shell脚本查看进程内存真实占用情况
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Shell脚本遍历目录并批量修改文件编码 Shell,脚本,遍历,目录,并,