主頁(yè) > 知識(shí)庫(kù) > Shell腳本遍歷目錄并批量修改文件編碼

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

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

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

好久不寫,手生了。

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

#!/bin/bash
#
#
SPATH="/root/chengji/WebRoot"
DPATH="/web"
# 函數(shù)開(kāi)始部分
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 該句為前期便利效果測(cè)試
        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 如果遇到目錄進(jìn)行自我調(diào)用。。。實(shí)現(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
}
 # 命令開(kāi)始部分
cd $SPATH
CYCLING
echo "All Done."

當(dāng)然,上面的代碼由于使用了函數(shù)循環(huán)調(diào)用,顯的很臃腫。下面來(lái)一種簡(jiǎn)單的方法,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腳本實(shí)現(xiàn)統(tǒng)計(jì)文件大小、批量創(chuàng)建用戶的示例
  • Shell腳本之文件批量創(chuàng)建與修改的簡(jiǎn)單方法
  • Linux shell利用sed如何批量更改文件名詳解
  • Shell腳本實(shí)現(xiàn)批量替換文件內(nèi)容
  • 詳解linux下批量替換文件內(nèi)容的三種方法(perl,sed,shell)
  • Shell腳本批量修改文件后綴名代碼分享
  • Shell腳本批量重命名文件后綴的3種實(shí)現(xiàn)
  • shell腳本中使用iconv實(shí)現(xiàn)批量文件轉(zhuǎn)碼的代碼分享
  • shell批量創(chuàng)建文件并重新命名的實(shí)例代碼

標(biāo)簽:延邊 隨州 青島 朝陽(yáng) 雅安 通遼 西藏 南充

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本遍歷目錄并批量修改文件編碼》,本文關(guān)鍵詞  Shell,腳本,遍歷,目錄,并,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本遍歷目錄并批量修改文件編碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Shell腳本遍歷目錄并批量修改文件編碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章