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

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

熱門標(biāo)簽:杭州機器人外呼系統(tǒng) 陜西電銷卡外呼系統(tǒng)怎么安裝 百度地圖標(biāo)注圖標(biāo)更換 地圖標(biāo)注超出范圍怎么辦 excel地址地圖標(biāo)注 百度地圖的地圖標(biāo)注 旅游地圖標(biāo)注大全 佛山高德地圖標(biāo)注中心 東莞電銷機器人價格一覽表

在將windows上的jsp網(wǎng)頁移植到linux環(huán)境中時,發(fā)現(xiàn)一個個的轉(zhuǎn)換編碼及修改默認(rè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)鍵詞  Shell,腳本,遍歷,目錄,并,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本遍歷目錄并批量修改文件編碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Shell腳本遍歷目錄并批量修改文件編碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章