佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Shell腳本遍歷目錄并批量修改文件編碼

Shell腳本遍歷目錄并批量修改文件編碼

熱門標(biāo)簽:地方門戶網(wǎng)站 百度競價排名 呼叫中心市場需求 AI電銷 Linux服務(wù)器 鐵路電話系統(tǒng) 服務(wù)外包 網(wǎng)站排名優(yōu)化

在將windows上的jsp網(wǎng)頁移植到linux環(huán)境中時,發(fā)現(xiàn)一個個的轉(zhuǎn)換編碼及修改默認編碼類型太慢,寫此腳本進行嘗試文件遍歷~

好久不寫,手生了。

復(fù)制代碼 代碼如下:

#!/bin/bash
#
#
SPATH="/root/chengji/WebRoot"
DPATH="/web"
# 函數(shù)開始部分
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 如果遇到目錄進行自我調(diào)用。。。實現(xiàn)深層遍歷
        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."

當(dāng)然,上面的代碼由于使用了函數(shù)循環(huán)調(diào)用,顯的很臃腫。下面來一種簡單的方法,find一下:

復(fù)制代碼 代碼如下:

#/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腳本實現(xiàn)統(tǒng)計文件大小、批量創(chuàng)建用戶的示例
  • Shell腳本之文件批量創(chuàng)建與修改的簡單方法
  • Linux shell利用sed如何批量更改文件名詳解
  • Shell腳本實現(xiàn)批量替換文件內(nèi)容
  • 詳解linux下批量替換文件內(nèi)容的三種方法(perl,sed,shell)
  • Shell腳本批量修改文件后綴名代碼分享
  • Shell腳本批量重命名文件后綴的3種實現(xiàn)
  • shell腳本中使用iconv實現(xiàn)批量文件轉(zhuǎn)碼的代碼分享
  • shell批量創(chuàng)建文件并重新命名的實例代碼

標(biāo)簽:黃山 湘潭 仙桃 衡水 湖南 蘭州 銅川 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本遍歷目錄并批量修改文件編碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    黄石市| 东阿县| 巴青县| 扶风县| 唐山市| 江达县| 漾濞| 浮山县| 临武县| 榆社县| 七台河市| 安顺市| 静宁县| 银川市| 同仁县| 商城县| 长阳| 广水市| 临桂县| 特克斯县| 富裕县| 罗田县| 犍为县| 清镇市| 应城市| 观塘区| 罗定市| 寻乌县| 南投县| 土默特右旗| 姜堰市| 通辽市| 玉门市| 娄烦县| 什邡市| 双鸭山市| 军事| 若羌县| 清镇市| 葵青区| 沙坪坝区|